我试图使用html5文件输入函数kartik@上传大量图像。我希望最终用户在上传之前不必调整图片大小,所以我使用的是resizeImage选项@。我在上传大型文件(每个文件3到4MB)时遇到了问题。
我已经修改了fileinput.js以用调整大小的blob替换预览图像,但是我的浏览器(Chrome48.0.2564.103m)仍然在F12 -> Resources -> . -> ->图片文件夹中列出原始(大文件大小) blob。当上传数百张图片时,浏览器最终会耗尽内存并崩溃。
我在fileinput.js的“self”对象中找不到对原始/大blob的任何引用,所以我不知道如何收集这个未使用的blob垃圾。
摇摆不定的问题 / 链接到修改后的fileinput.js (修改:2396-2412)
setTimeout(function(d) {
console.log('attempting to replace original blob with:');
console.log(blob);
console.log(objUrl.createObjectURL(blob));
console.log('attempting to revoke original blob: ' + image.src);
objUrl.revokeObjectURL(image.src);
delete image.src;
self.clearDefaultPreview();
image.src = objUrl.createObjectURL(blob);
console.log('outputting fileinput.js self var:');
console.dir(JSON.stringify(self));
console.dir(self);
}, 500);
}, type, self.resizeQuality);
console.log('current image.src blob is: ' + image.src);@我没有发布两个以上链接的声誉,所以我在jsfiddle的javascript框架中嵌入了插件文档的链接。
任何帮助都将不胜感激。
发布于 2016-02-05 04:54:28
我搞清楚了到底是怎么回事,文件输入脚本直到所有的图像都被预装之后才会调整大小。在将其修改为一次处理每一幅图像之后,我的表现就像对这么大的图像所期望的一样好--谢谢你们的评论。
https://stackoverflow.com/questions/35192410
复制相似问题