使用 JSZip 将 Javascript blob 转换为图像

标签 javascript blob jszip

var bl = window.URL.createObjectURL(xhr.response)

var zip = new JSZip();
zip.file(bl);

zip.generateAsync({type:"blob"})
.then(function(content) {
    saveAs(content, "example.zip");

}, function(err){
    console.log(err)
})

我的 XmlHttpRequest 从图像文件中获得了“blob”类型的响应。如何将 blob 图像文件转换为图像文件(可以是 .gif、.jpg、.bmp、.jpg-large 等),以便制作一个没有错误的 zip 文件?

最佳答案

使用 URL.createObjectURL 您可以获得 blob 的 url(例如 blob:https://stackoverflow.com/e62c177a-b4b1-4945-8e13-53bb5a3c8f34 ). JSZip 无法解析它,但您可以直接使用 blob(因此在您的情况下为 xhr.response)。正如 Patrick Evans 在评论中所说,您还需要提供文件名。

var zip = new JSZip();
zip.file("my_file.ext", xhr.response);

zip.generateAsync({type:"blob"})
.then(function(content) {
    saveAs(content, "example.zip");
}, function(err){
    console.log(err)
});

关于使用 JSZip 将 Javascript blob 转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961050/

相关文章:

javascript - iOS6 JavaScript touchmove 事件通过垂直滚动之后 jQuery animate 不会触发

javascript - 使用Javascript根据另一个输入类型月份动态添加一年到输入类型月份

php - 尝试通过 PHP/MySQL 下载 Blob

javascript - 在javascript中使用JSZIP提取压缩文件

javascript - 使用 JSZip 编辑压缩文件中的文件

javascript - r.js 优化器 - 不要混淆函数名称

从 node.js shell 和文件运行时,Javascript 代码输出不同

javascript - 将 blob 变量从 php 发送到 javascript

mysql - Laravel 5 - 检索 blob 文件返回 TRUE 或 1

javascript - koa.js 中的 JSZip 具有流式输入/输出