jsZip 附件并将其发送到服务器

时间:2021-04-26 09:51:37

标签: javascript jszip

我有一个简单的问题 - 用户附加到表单的文件非常大 (>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
    })    
}

在编辑之前,我的表单提交功能看起来像这样(二进制):

enter image description here

编辑后,我的提交看起来像这样:

enter image description here

什么都没有发送。我肯定在某个地方搞砸了,但不知道如何解决它。请帮忙。

0 个答案:

没有答案