我有一个表单,允许用户选择一个zip文件上传。 我正在尝试在上传到服务器之前对该zip文件进行客户端验证,因为上传可能需要一些时间,而且我也想节省带宽。
我只需要读取zip中应包含的.csv文件,并验证.csv中引用的其他文件是否存在于zip中。 为此,我尝试使用JSZip。
如果存档很小,则效果很好。 如果存档很大(使用约500MB文件进行测试),则Chrome会崩溃。
var reader = new FileReader();
reader.onload = function (e) {
console.log("Got here!");
// Read csv using JSZip, validate zip contents
};
reader.readAsArrayBuffer(file);
我在代码中注释掉了onload回调函数中的所有逻辑,并验证了这些逻辑不会导致崩溃。我发现Chrome在onload回调函数之前就崩溃了。
我已经在FireFox上测试了更大的zip文件,它可以正常工作。