javascript - 上传图片,将其转换为 zip(客户端),然后上传到服务器

标签 javascript zip jszip

上传图像文件,并在客户端将其转换为 zip,然后将(转换后的 zip)文件上传到服务器。 有一个js jsZip可以在客户端将图像文件转换为 zip,但问题是如何将转换后的 zip 文件直接上传到服务器。

最佳答案

Use jsZip

使用 HTML 上传文件

<form action="/your-action"> <input type="file" id="mypicid" name="pic"> <button onclick =" myFunction() "> Upload <button> </form>

上传后点击convert files to zip

  function myFunction(){

/* Make a zip file here */

 var fi = document.getElementById("mypicid");
 var fileInput = fi;
 var files = [];

 // get all selected file

 $.each(fileInput.files, function(i, file) {
    files.push(file);
 });

 //create a zip object

  var zip = new JSZip();

 //add all files to zip 

 function addFileToZip(n) {
     if(n >= files.length) {

//here generate file to zip on client side
        zip.generateAsync({type:"blob", compression:"default"}).then(function(content){

        //generated zip content to file type
            var files = new File([content], "name.zip");

             var formData = new FormData();
             formData.append('fileZip', files);

        //send generated file to server
             $.ajax({
                data: formData,
                url : '/your_path',
                type : 'POST',
                processData: false,
                contentType: false,
                success : function(response) {
                     alert("success");
                }
            });

        return;
    }
    var file = files[n];                    
    var arrayBuffer;
    var fileReader = new FileReader();
    fileReader.onload = function() {
        arrayBuffer = this.result;
        zip.file(file.name, arrayBuffer);
        addFileToZip(n + 1);
    };
    fileReader.readAsArrayBuffer(file);
}
addFileToZip(0);
}

关于javascript - 上传图片,将其转换为 zip(客户端),然后上传到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48583915/

相关文章:

Javascript 单页应用程序变得非常难以使用

javascript - 如何更改 canvasjs 堆积条形图中的第一个条形颜色?

python - 使用 zip 函数时,使用列表理解创建包含单个元素的列表

javascript - 关闭警报框后如何重定向页面?

javascript - Node 、 express 和 Jade : not loading css stylesheets

r - 如何计算zip文件中csv文件的行数

python - 使用循环在Python中压缩多个文件

javascript - Simple JSZip - 从现有图像创建 Zip 文件

javascript - 使用 JSZIP 设置自定义文件名

javascript - 命名由 JSZip 创建的 .zip 文件