在html5中jquery如何用ajax上传文件-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

在html5中jquery如何用ajax上传文件

小旋风柴进 2016-03-23 13:36:47 1445

了可能,但我在使用最新版jquery的ajax方法上传文件时,却遇到了问题,jquery默认设置的contentType不对,导致后端无法正确识别文件上传请求

这是使用原生XHR来上传文件时的header截图,我们可以清楚的看到Content-Type已经做了特殊设定,这时后端可以正确的接收到文件

screenshot

这是使用jQuery上传的截图,可以看到Content-Type是普通的表单提交,后端完全无法识别这次请求

screenshot

下面是我的代码,不知道是什么问题
http://jsfiddle.net/aejUC/

移动开发 JavaScript 前端开发 HTML5
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:10:47

    contentType: false // 告诉 jQuery 别设置内容类型

    var fd = new FormData(document.getElementById("fileinfo"));
    fd.append("CustomField", "This is some extra data");
    $.ajax({
      url: "stash.php",
      type: "POST",
      data: fd,
      processData: false,  // tell jQuery not to process the data
      contentType: false   // tell jQuery not to set contentType
    });
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题