我正在使用JSzip下载div的html。 div里面有图像(它们不是base64编码的)。有没有一种方法可以使用JSzip从其图像路径url下载文件?还是必须使用base64编码?

我当前的代码只是JSzip网站(http://stuk.github.io/jszip/)的基本演示代码。

    var zip = new JSZip();
    var email = $('.Result').html();
    zip.file("test.html", email);
    var content = zip.generate({type:"blob"});
    // see FileSaver.js
    saveAs(content, "example.zip");

最佳答案

您可能想尝试使用JSzip-utils,它有一个仅用于从url下载图像的调用,也请查看JSzip文档中的示例,我发现它非常好。您可以找到有效的example with code here.

这只是下载的一部分,我也正在使用它们的图像源URL从社交媒体下载图像。

function urlToPromise(url) {
return new Promise(function(resolve, reject) {
    JSZipUtils.getBinaryContent(url, function (err, data) {
        if(err) {
            reject(err);
        } else {
            resolve(data);
        }
    });
});
}
var zip = new JSZip();
zip.file(filename, urlToPromise(url), {binary:true});
zip.generateAsync({type:"blob"})
.then(function callback(blob) {

    // see FileSaver.js
    saveAs(blob, "example.zip");
});

关于javascript - 使用JSzip从URL保存图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26635627/

10-11 12:23