我遇到了这个简单的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);
但是我这里有两个问题,
FormData
?fd.append("file", document.getElementById('file').files[0]);
为什么在那里需要ID?我能做些什么使用jQuery append()
用$('input[type=file]')
?
这行在对象FormData之后是什么意思?
fd.append("file", document.getElementById('file').files[0]);
在document.getElementById('file')
得到<input type="file" id="file">
由它的ID元件。该element.files[0]
抓住从元件中的第一选择的文件。将fd.append("file", file)
其追加到FormData
与字段名的实例file
。在fd
稍后要被发送作为multipart/form-data
XHR请求体。
为什么在那里需要ID?我能做些什么使用jQuery
append()
用$('input[type=file]')
?
该ID不是必需的。毕竟,这只是一个示例,以便能够<input type="file">
通过其ID从文档中获取。需要注意的是,append()
在这个例子中的功能是一部分的FormData
API,而不是与jQuery的混淆append()
功能。另请注意,的第一个参数append()
表示字段名称,而不是ID。它们相同只是一个巧合。
此ajax仅用于单个文件上传,如何更改多个文件上传?
只需将多个字段附加到FormData
。假设您有File[]
,这是一个示例:
for (var i = 0; i < files.length; i++) {
fd.append("file" + i, files[i]);
}
它会通过字段名是在服务器端可用file0
,file1
等等。
问题内容: 我的测试需要在不同的浏览器中上传测试文件(我使用+ )。对于单个文件上传,一切正常。我只是发送路径 Firefox:我找不到正确的语法。 任何想法? 所有浏览器都有通用的语法吗? 问题答案: 据我所知,硒 仍然 不支持多个文件上传(请参阅google code上的问题 )。 至少有一种解决方法:显然创建一个包含所需输入字段的表单。这不是最佳的解决方案,因为它(可能)需要更改您的代码才能
问题内容: 我遇到的情况是,我有一个表格,其中有一行,其中有两个文本字段条目,我必须上载该行的文件,并且这种行可以是“ N”,然后是可以在整个表单中输入的主文件,而这些文件是表单的一部分,我必须在单击保存按钮后立即提交所有这些文件。 我有点被ng-upload困扰,它需要一个api调用,而对于这种形式,我真的不能超过一个api调用。示例html代码如下: 问题答案: 这是文件值绑定指令示例.. h
上面是代码 现在的问题是 上传多个文件的时候回调用多次接口,比如上传三个文件就回调用三次axios请求 现在需要解决的是 上传多个文件只执行一次axios请求
问题内容: 有没有办法用Flask接收多个上传的文件?我尝试了以下方法: 然后打印内容 如果我上传多个文件,它将仅打印该集中的第一个文件: 是否可以使用Flask的内置上传处理方式接收多个文件?谢谢你的帮助! 问题答案: 你可以使用flask.request.files的方法getlist,例如:
主要内容:1. 动作类,2. 结果页面,3. struts.xml,4. 示例,参考在上章节Struts2 文件上传示例, 用户允许选择一个文件并上传到服务器。在本教程中,您将学习如何允许用户将多个文件上传到服务器。 这里创建一个Web工程:strut2uploadfiles,来演示在多个复选框如何设置的默认值,整个项目的结构如下图所示: 1. 动作类 在Action类,可以使用列表或数组以存储上传的文件。 FileUploadAction.java 2. 结果页面 使用<s:f
问题内容: 我无法正常上传多个文件。当我选择x个文件时,它成功完成,但是第一个文件被上传了x次,而其他文件则根本没有被上传。有人能指出我做错了吗? 形成: 处理文件: 问题答案: 如果有人感兴趣的话,可以像这样工作: 如果可能的话,很高兴获得带有Blob对象数组的可行解决方案,而不必要求request.args.get(“ __ UPLOADS”)。