如何使用javascript从zip文件夹中解压缩并下载所有图像?

gr8qqesn  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(237)

我试过使用jszip,只能从zip文件中提取10个图像。但ZIp文件包含450个图像。
通过使用下面的代码,我能够下载10张图片只。不提取所有图像的zip文件夹。

function unzipfeb146() {
var i = 0;
// fetch('file:///C:/CBTOffline/Images/8687.Zip')
fetch('http://localIP/CBT/R3Images/QBQuestionImages/8688.zip')
    .then(response => response.arrayBuffer())
    .then(data => {
        // Extract the files from the zip
        const zip = new JSZip();
        return zip.loadAsync(data);
    })
    .then(zip => {
        // Download each file
        Object.keys(zip.files).forEach(filename => {
            debugger;
            zip.files[filename].async('blob').then(blob => {
                const link = document.createElement('a');
                link.href = URL.createObjectURL(blob);
                `your text`
                link.download = filename;
                document.body.appendChild(link);
                link.click();

                var img = document.createElement("img");
                img.src = URL.createObjectURL(blob);
                img.id = i + 1;
                document.body.appendChild(img);
                i = i + 1;
                //const image = new Image();
                //image.src = URL.createObjectURL(blob);
                //image.id = fileName;
                //document.body.appendChild(image);

                //document.body.removeChild(link);
            });
        });
    })
    .catch(error => console.error(error));
}

预期输出如下:

4ktjp1zp

4ktjp1zp1#

要为压缩文件创建下载链接,可以使用带有href属性的标记,该属性指向压缩文件的位置,如下所示:
下载文件

相关问题