在文件输入字段上使用javascript / jquery

时间:2012-02-03 06:26:18

标签: javascript jquery html file-upload multifile-uploader

我有一个包含mulitiple文件选择的表单。我只想通过AJAX将每个文件发送到服务器(通过多选来选择)。

我可以使用

获取文件
document.getElementById('attachment_file').files

我想使用像

这样的东西
var files = document.getElementById("attachment_file").files
$.each(files, function(index, file11){
       $.ajax({
        url: "/users",
        type: 'POST',
        dataType: 'json',
        data: {doc: {title: file11}},
        async: false,
        success: function() {
        }

      });
});

这里我无法传递文件参数。任何建议

4 个答案:

答案 0 :(得分:1)

您可以创建一个FormData对象并发送它。

https://developer.mozilla.org/en/DOM/XMLHttpRequest/FormData

请参阅“使用FormData对象发送文件”下的示例代码:

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

答案 1 :(得分:0)

由于安全限制,不允许通过AJAX将AFAIK文件发送到服务器。不同的库以不同的方式处理此问题 - 请参阅您的库文档。

答案 2 :(得分:0)

您不能上传普通ajax文件,典型的解决方法是涉及flash或(ab)使用iframes。 https://github.com/blueimp/jQuery-File-Upload应该是一个很好的图书馆,可以帮助你入门......

答案 3 :(得分:0)