5

我在适用于 ios6 的 Google Chrome 上的 xmlhttprequest 文件上传进度事件有问题。代码已经在所有桌面浏览器和 Safari(ios 6) 上运行。在谷歌浏览器(ios 6)中上传mov文件也存在问题,尝试上传时我得到文件大小= 0。有什么解决方案吗?

这是我的代码的一部分

var xhr = new XMLHttpRequest();
var eventSource = xhr.upload;

xhr.addEventListener("load", this.onUploadComplete(uploadInfo));
xhr.addEventListener("error", this.onUploadError(uploadInfo));
xhr.addEventListener("abort", this.onUploadAbort(uploadInfo));

// changing Url  for preventing ajax call caching( Android , IOS 6)
var ts = Date.now(), rquery = /\?/, rts = /([?&])_=[^&]*/,
ret = uploadUrl.replace( rts, "$1_=" + ts );
uploadUrl = ret + ( ( ret === uploadUrl ) ? ( rquery.test( uploadUrl ) ? "&" : "?" ) + "_=" + ts : "" );

xhr.open('POST', uploadUrl, true);  
eventSource.onprogress = this.onUploadProgress(uploadInfo);
xhr.setRequestHeader("Content-Type", "multipart/form-data");

xhr.setRequestHeader('X-FILE-NAME', file.name);
xhr.send(file);
4

2 回答 2

4

这是 iOS 上 Chrome 的一个已知错误,它不支持进度更新。更多细节在这里:https ://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

另外,我已将错误报告给官方错误跟踪器,您可以在此处查看最新更新

2016 年更新:已修复!

于 2013-09-02T23:25:37.683 回答
0

我使用plupload遇到了同样的问题。但是,它仅在允许用户选择多个文件时发生。关闭此功能后,chrome 会正确上传文件。

我还没有找到允许多个文件上传的问题的解决方案。

于 2013-01-16T22:27:48.903 回答