程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了HTML5 AJAX多个文件上传大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决HTML5 AJAX多个文件上传?

开发过程中遇到HTML5 AJAX多个文件上传的问题如何解决?下面主要结合日常开发的经验,给出你关于HTML5 AJAX多个文件上传的解决方法建议,希望对你解决HTML5 AJAX多个文件上传有所启发或帮助;

document.getElementByID('file')得到<input type="file" ID="file">由它的ID元件。该element.files[0]抓住从元件中的第一选择的文件。将fd.append("file", filE)其追加到FormData与字段名的实例file。在fd稍后要被发送作为@H_470_3@multipart/form-dataXHR请求体。

该ID不是必需的。毕竟,这只是一个示例,以便能够<input type="file">通过其ID从文档中获取。需要注意的是,append()在这个例子中的功能是一部分的FormDataAPI,而不是与jquery的混淆append()功能。另请注意,的第一个参数append()表示字段名称,而不是ID。它们相同只是一个巧合。

只需将多个字段附加到FormData。假设您有file[],这是一个示例:

for (var i = 0; i < files.length; i++) { 
    fd.append("file" + i, files[i]);
}

它会通过字段名是在服务器端可用file0file1等等。

解决方法

我遇到了这个简单的js ajax上传代码($.post由于某种原因,jquery 似乎不适用于HTML5),

    /* If you want to upload only a file along with arbitary data that
       is not in the form,use this */
    var fd = new FormData();
    fd.append("file",document.getElementById('file').files[0]);

    /* If you want to simply post the entire form,use this */
    //var fd = document.getElementById('form1').getFormData();

    var xhr = new XMLhttprequest();        
    xhr.upload.addEventListener("progress",uploadProgress,falsE);
    xhr.addEventListener("load",uploadComplete,falsE);
    xhr.addEventListener("error",uploadFailed,falsE);
    xhr.addEventListener("abort",uploadCanceled,falsE);
    xhr.open("POST","Upload.php");
    xhr.send(fd);

但是我这里有两个问题,

  1. 这条线在物体之后是什么意思FormData

fd.append("file",document.getElementById('file').files[0]);

为什么在那里需要ID?我能做些什么使用jQuery append()$('input[type=file]')

  1. 此ajax仅用于单个文件上传,如何更改多个文件上传?

大佬总结

以上是大佬教程为你收集整理的HTML5 AJAX多个文件上传全部内容,希望文章能够帮你解决HTML5 AJAX多个文件上传所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: