首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >multipart/form-data,使用ajax上传多个文件

multipart/form-data,使用ajax上传多个文件
EN

Stack Overflow用户
提问于 2014-11-14 04:36:19
回答 1查看 3.4K关注 0票数 1

正在尝试创建多个文件+文本块上传。使用RoR,AngularJS,你也会看到一些Bootstrap的东西。我已经在SO和Google上搜索了大约一个小时,尽管无可否认它只是在兜圈子,我觉得应该有一个简单的错误。下面是erb:

代码语言:javascript
复制
  <form id="upload-attach-form" class="upload-form" name="upload-attach-form" enctype="multipart/form-data">
    <input type="hidden" name="identifier" ng-value="identifier" />
    <textarea name="text" class="input-xlarge" placeholder="input text..." style="height:6em;width:30em"></textarea>
    <input type="file" name="files" id="uploaded-files" multiple />
  </form>

  <button class="btn btn-success" ng-click="submitForm()">Send</button>

以及相关的js:

代码语言:javascript
复制
    $scope.submitForm = function(){
    var upload_data = new FormData($('#upload-attach-form'));
    $.ajax({
        type: "POST",
        url: "/upload_attachment",
        data: upload_data,
        contentType: false,
        processData: false,
        success: function(){
            $("#attachment-ctrl").modal('hide'); //hide popup
        },
        error: function(){
            alert("failure");
        }
    });
}

这将导致一个出站请求,如下所示:

代码语言:javascript
复制
  Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryoIsRaBissNVsFEdr
  Content-Length: 44
  ...
  Request-Payload: ------WebKitFormBoundaryoIsRaBissNVsFEdr--
      <<nothing here>>
  Response-Headers: ...

这意味着我的表格里什么都没有。不确定从哪里开始,随意地在这里和那里替换东西(有点不舒服,所以可能想不清楚)。

EN

回答 1

Stack Overflow用户

发布于 2014-12-11 01:49:02

尝试替换:

代码语言:javascript
复制
var upload_data = new FormData($('#upload-attach-form'));

通过这一条:

代码语言:javascript
复制
var upload_data = new FormData($('#upload-attach-form')[0]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26917917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档