[英]jQuery File Upload crashing browser
我正在使用jquery-filedrop和python / flask將文件上傳到服務器上的uploads文件夾。
但是,每當我選擇一個大文件(〜80MB +)時,瀏覽器選項卡(chrome)就會立即崩潰。
從自述文件中查看代碼 ,似乎使用HTML5 FileReader()處理文件上傳。
如果我通過更改這些行來占用文件的一小部分:
reader.onloadend = !opts.beforeSend ? send : function (e) {
opts.beforeSend(files[fileIndex], fileIndex, function () { send(e); });
};
reader.readAsDataURL(files[fileIndex]);
至
reader.onloadend = !opts.beforeSend ? send : function (e) {
opts.beforeSend(files[fileIndex].slice(0, 1048576), fileIndex, function () { send(e); });
};
reader.readAsDataURL(files[fileIndex].slice(0, 1048576));
然后,我可以通過從每個文件僅上傳1MB來使其運行而不會出現錯誤,因此我猜測讀取完整文件時這是內存問題。
如何設置它以遍歷文件的小塊並分別上傳? 還是有更好的解決方法?
是的,如果循環中有重物,Chrome瀏覽器會崩潰。 您可以做的最好的事情是使用Webworkers處理文件,然后讀取卡盤。
資源
如果使用HTML5 FileReader(),則file
選項具有您可以使用的slice
方法。
var blob = file.slice(startingByte, endindByte); reader.readAsBinaryString(blob);
有關更多信息: http : //www.html5rocks.com/zh-CN/tutorials/file/dndfiles/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.