我发现HTTP PUT 请求最适合上传非常大的文件(1GB 或更多)。
该解决方案运行良好,我可以将我选择的任何文件上传到服务器。但是,我很难监控上传进度。
我已经实现了onprogress回调,但是在通过 PUT 上传文件后,这个回调只被调用一次。
我的 JavaScript 代码:
var req = createRequest();
req.open("PUT", "PHP/upload_file.php?folder=" + aUploadedFile.upload_folder + "&master_folder=" + settings.strServerSideMasterFolder + "&file_name=" + aUploadedFile.file_name);
req.setRequestHeader("Content-type", "text/plain");
req.onload = function (event)
{
console.log("OnLoad Called: " + aUploadedFile.file_name);
}
req.onprogress = function (event)
{
console.log("OnProgress Called: " + aUploadedFile.file_name);
}
req.send(aUploadedFile.file_object);
- 当我希望通过 PUT 监控上传进度时,我有哪些选择?
- 我是否应该建立另一个 JavaScript AJAX 调用来监视服务器上传文件的大小?
- 有没有其他可行的解决方案?
我用:
- HTML5
- JavaScript
- PHP
- 阿帕奇
我不用:
- jQuery
先感谢您。