ajax上传文件、FormData上传文件、html5上传文件、多文件上传-文件上传

首先简单了解一下 FormData,点击链接:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects

IE浏览器版本最好为:IE10+,因为 FormData 兼容性问题

然后查看示例,代码如下↓

html 代码:


  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <script type="text/javascript" src="https://www.shangyouw.cnjquery-1.8.3.min.js"></script>
  7. <style type="text/css">
  8. #showimg{margin-top: 20px;height: 150px;}
  9. #showimg div{width: 100px;height: 100px;line-height:100px;margin-right: 20px;float: left;text-align: center;}
  10. #showimg img{vertical-align: middle;max-width: 100max-height: 100}
  11. </style>
  12. <script type="text/javascript">
  13. jQuery(function () {
  14. jQuery('#butSubmit').click(function () {
  15. var file = jQuery('#fileId')[0].files;
  16. var formDataInfo = new FormData(jQuery('#FormDataUpload')[0]);
  17. formDataInfo.append('file',file);//表单数据
  18. formDataInfo.append('ajajxfile', 1);//额外加数据
  19. /*------分割线------*/
  20. // var formDataInfo = new FormData();
  21. // formDataInfo.append('pic', jQuery("#picId")[0].files[0]);
  22. // formDataInfo.append('ajajxfile', 1);//额外加数据
  23. //jQuery.each(jQuery("#fileId")[0].files,function (k,val) {
  24. // formDataInfo.append('fileimg[]', val);
  25. // });
  26. // alert(formData);
  27. jQuery.ajax({
  28. type:'post',
  29. url:'upload.php',
  30. dataType:'json',
  31. cache:false,
  32. processData:false,//必须
  33. contentType:false,//必须
  34. data:formDataInfo,
  35. success:function (data) {
  36. // alert(data);
  37. var html = '';
  38. for (var i=0;i<data.length;i++){
  39. html +='<div><img src="https://www.shangyouw.cn'+data[i]+'"></div>';
  40. }
  41. jQuery('#showimg').html(html);
  42. },
  43. error:function () {
  44. alert('Error');
  45. }
  46. });
  47. });
  48. });
  49. </script>
  50. </head>
  51. <body>
  52. <br>
  53. <form id="FormDataUpload" action="upload.php" method="post" enctype="multipart/form-data">
  54. <input name="img[]" type="file" id="fileId" multiple>
  55. <!--<input name="picId" type="file" id="picId">-->
  56. <input type="button" value="提交" id="butSubmit">
  57. <!-- <input type="submit" name="dosubmit" value="提交Form">-->
  58. </form>
  59. <div id="showimg"></div>
  60. </body>
  61. </html>

后台程序 PHP代码:


  1. <?php
  2. date_default_timezone_set('PRC');
  3. if (!empty($_POST)){
  4. if ($_FILES['img']['name'][0]){
  5. $path = 'upload/';
  6. if (!is_dir($path)){
  7. mkdir(iconv("UTF-8", "GBK", $path),0777,true);
  8. }
  9. $datafile = $_FILES['img'];
  10. $filearr = array();
  11. foreach ($datafile['name'] as $key=>$value){
  12. $type = pathinfo($value);
  13. $filename = $path.time().mt_rand(0,999999999).'.'.$type['extension'];
  14. if (move_uploaded_file($datafile['tmp_name'][$key],$filename)){
  15. $filearr[] = $filename;
  16. }
  17. }
  18. print_r(json_encode($filearr));die;
  19. }
  20. }

一个简单的ajax上传文件,欢迎广大朋友们一起来学习!

ajax上传文件、FormData上传文件、html5上传文件、多文件上传

推荐阅读

    fcpx快捷键大全|fcpx选择快捷键

    fcpx快捷键大全|fcpx选择快捷键,,fcpx选择快捷键快捷键是T或者按俩下T 。fcpx所有快捷键先单独试下每个这两个键位,不开任何程序的情况下

    fcpx重做快捷键|fcpx常用快捷键

    fcpx重做快捷键|fcpx常用快捷键,,1. fcpx常用快捷键command+T,fcpx 叠化转场2. FCPX快捷键有个快捷键苹果键加上箭头加R就是调整速度的3. f

    1px问题

    1px问题,元素,px,一、只设置一条边1、border-image<body> <div class="box"> </div></body></html><style> .box { wid

    fcpx打字快捷键|fcpx打关键帧快捷键

    fcpx打字快捷键|fcpx打关键帧快捷键,,1. fcpx打关键帧快捷键有一帧出了问题,根据渲染的百分比找回去播放那一段就能发现(时间刻度上也会有标

    如何在vscode里将px转rem,而且还得爽!

    如何在vscode里将px转rem,而且还得爽!,都是,插件,自从新版移动端IM界面改用rem适配,效果实在太棒了。所以,接下来的主要工作会将一些核心页面,

    html设置编码|html设置编码utf-8

    html设置编码|html设置编码utf-8,,html设置编码utf-8并不建议这样做,目前比较通用的编码方式为utf-8,可以容纳大部分的常用字,兼容性好,而gb23

    fcpx设置快捷键|fcpx如何设置快捷键

    fcpx设置快捷键|fcpx如何设置快捷键,,1. fcpx如何设置快捷键操作方法:在fcpx10.4.5版本中,打开软件,点击文件,选择新建,点击项目——格式,点击自

    fcpx快捷键设置步骤|fcpx快捷键大全

    fcpx快捷键设置步骤|fcpx快捷键大全,,1. fcpx快捷键大全1、我们打开final cut软件,鼠标右击点击视频轨道上想要隐藏的视频画面。2、在弹出

    fcpx设置时长快捷键|fcpx慢速快捷键

    fcpx设置时长快捷键|fcpx慢速快捷键,,1. fcpx慢速快捷键快捷键是T或者按俩下T 。2. fcpx调速度快捷键按住左方向键不放就可以倒放3. fcpx