我有一个简单的问题 - 用户附加到表单的文件非常大 (>100MB)
我想即时压缩这些文件并将压缩文件发送到服务器。
这是我的原始代码,没有zip
function sendFile (event) {
var files = event.target.files;
var data = new FormData();
$.each(files, function(key, blob){
data.append(key, blob);
});
$.ajax({
url: '...',
data: data
})
}
现在,我使用 jSZip (https://stuk.github.io/jszip/documentation/api_jszip/file_data.html) 添加了 ZIP 功能:
function zipFiles(files) {
var zipped;
var zip = new JSZip();
$.each(files, function(key, blob)
{
zipped = zip.file(blob.name, blob);
});
return zipped.files;
}
并修改了我的原始代码:
function sendFile (event) {
var files = zipFiles(event.target.files);
var data = new FormData();
$.each(files, function(key, blob){
data.append(key, blob);
});
$.ajax({
url: '...',
data: data
})
}
在编辑之前,我的表单提交功能看起来像这样(二进制):
编辑后,我的提交看起来像这样:
什么都没有发送。我肯定在某个地方搞砸了,但不知道如何解决它。请帮忙。