使用ajax发送输入文件数据

Has*_*Ali 6 javascript php ajax jquery

html标记:

<input id="fileSelect" type="file" id="file" name="files[]" multiple="multiple" accept="image/*" />
Run Code Online (Sandbox Code Playgroud)

我用php上传多个文件.我想制作一组上传文件并使用ajax发送到服务器.如何制作多个选定文件的数组?

JavaScript的:

jQuery.ajax({
    url: 'insertfiles.php',
    type: "POST",
    data: {
      file: // array of selected files.
    },
    success: function(data){
    },
    error: function(data){
      alert( 'Sorry.' );
    }
});
Run Code Online (Sandbox Code Playgroud)

Utk*_*xit 7

请使用以下代码.

var formData = new FormData($("#formid")[0]);
jQuery.ajax
({
        url: 'insertfiles.php',
        type: "POST",
        data:   formData;
        success: function(data)
        {
        },
        error: function(data)
        {
            alert( 'Sorry.' );
        }
cache: false,
        contentType: false,
        processData: false
});
Run Code Online (Sandbox Code Playgroud)

希望这对你有所帮助

  • 你能解释一下`var formData = new FormData($("#formid")[0]);` (2认同)

ian*_*a89 5

支持HTML5文件内容的现代浏览器在<input>元素中具有“文件”属性。这将为您提供文件列表参考,该参考具有一个length属性。

由于该属性已经是,array因此您只需要访问它或对其进行迭代。

JS

var input = document.getElementById('id');
console.log(input.files);

for (var i = 0; i < input.files.length; i++) {
 console.log(input.files[i]);
}
Run Code Online (Sandbox Code Playgroud)