- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试使用 jsZip 创建一个 zip 文件。 zip 文件的内容是来自网络的图像。我创建了以下代码。但是当我运行它时,我得到的只是一个 22kb 的空 zip 文件。
<html>
<body>
<script type="text/javascript" src="jszip.js"></script>
<script type="text/javascript" src="FileSaver.js"></script>
<script type="text/javascript" src="jszip-utils.min.js"></script>
<script>
var imgLinks = ["url1", "url2", "url3"];
function create_zip() {
var zip = new JSZip();
for (var i = 0; i < imgLinks.length; i++) {
JSZipUtils.getBinaryContent(imgLinks[i], function(err, data) {
if (err) {
alert("Problem happened when download img: " + imgLink[i]);
console.erro("Problem happened when download img: " + imgLink[i]);
deferred.resolve(zip); // ignore this error: just logging
// deferred.reject(zip); // or we may fail the download
} else {
zip.file("picture" + i + ".jpg", data, {
binary: true
});
deferred.resolve(zip);
}
});
}
var content = zip.generate({
type: "blob"
});
saveAs(content, "downloadImages.zip");
}
</script>
<br/>
<br/>
<center>
Click the button to generate a ZIP file
<br/>
<input id="button" type="button" onclick="create_zip()" value="Create Zip" />
</center>
</body>
</html>
(url1、url2 和 url3 替换为我要下载的图片 url)。
为什么我会收到这些空的 zip 文件?
最佳答案
JSZipUtils.getBinaryContent
是异步的:内容将在 zip.generate()
调用之后添加。在生成 zip 文件之前,您应该等待所有图像。
编辑:
如果您正在加载的文件位于不同的服务器上,则该服务器需要发送额外的 HTTP header ,例如 Access-Control-Allow-Origin: server-hosting-the-page.com
。在这种情况下,Firefox 或 Chrome 调试控制台将显示错误。 js 库无法检测到 CORS问题(请参阅 here )并将触发成功,内容为空。
关于javascript - 使用 jsZip 从 url 添加图像到 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27746982/
我正在尝试使用 zip 文件“发布”和 xhr 请求,但我无法获得正确格式的 zip。我找到了一个显示类似请求的帖子: var zip = new JSZip(); // create the jsz
我正在使用 js-xlsx用于在 JavaScript 中创建 Excel 文件的库。 这个库使用jszip。我试图在加载 jszip 之前在我的 JavaScript 文件中定义 jszip 库,但
我在 Angular 7 应用程序中使用 jszip v3.2.1。当我构建我的项目时(例如,运行 npm start),我收到以下错误: ERROR in ./node_modules/jszip/
早上好,我正在使用 JSZip 创建 zip,我有以下代码: for (var i = 0, f; f = content[i]; i++) { var zip = new JSZip();
压缩包名称:testing.zip 当我提取文件时 测试\https_\s3-us-west-2.amazonaws.com\files\image.jpg 预期结构:testing/image.jp
有人可以解释一下,jszip 怎么可能不压缩文件?我正在尝试使用压缩,压缩后的 zip 文件大小大于内部未压缩文件的文件大小。我做错了什么吗? var fs = require("fs"); var
我有一个 Electron 应用程序,使用 jszip 创建一个 zip 文件,然后用户可以保存该文件。一切正常,但我的问题是我的应用程序使用用户下载文件夹。我猜它正在制作一个临时文件。我已将我的应用
是否可以使用 JSZip 在循环中创建真正的 zip 文件夹和文件,每个元素一个?如果是这样,怎么办? 类似这样的事情: var JSZip = require("jszip"); const sav
我的 Node.js 应用程序内存消耗很高,当一个接一个地加载 ~100MB zip 文件时,它会将它们作为“NodeBufferReader”保留在内存中。我正在使用的库称为 JSZip,可在此处找
我正在通过执行以下操作使用 JSZip 提取一个 zip 文件: jszip.loadAsync(zipFile) ['then'](function(zip) { return bluebi
我有一个奇怪的问题,typescript 找不到 jszip 的类型。 其他类型工作正常 类型似乎在正确的位置 在我的源文件中,我使用了这些导入,例如 import * as fast_csv fro
var zip = new JSZip(); zip.file("Hello.txt", "Hello World\n"); var img = zip.folder("images"); img.f
我使用 FileReader API 将输入文件的内容加载到浏览器内存中。这个 jsfiddle 包含一个工作示例: https://jsfiddle.net/qyh1s60d/ 我将结果转换为 Ui
我正在使用 JSZip 将一组图像捆绑在页面上并创建一个 zip 文件来存储它们。相关函数如下: // Make a zip file $("#snapLink").click(function()
我正在开发一个代码编辑器,我可以在其中检查我想要的库,只要说 Normalize或 FontAwesome ,来 self 服务器的 zip 文件被加载到 JSZip这样,当我导出我的代码时,我所有的
我想要压缩并下载一个文件夹。我似乎无法找出如何。 JSZip 似乎只能下载文件。 我不想使用 PHP。 最后一件事,我希望通过链接下载它,例如下载。 最佳答案 只要继续调用 zip.file() 即可
我已经编写了一个 zip 下载,但我面临的问题是我无法为 .zip 提供自定义文件名它不断给我一些随机名称,例如“ff22f3dc-24dc-” 41cb-b83d-06acef1694d0.zip”
我正在做一些网络应用程序的本地开发,需要从客户端的一些文件创建一个 zip 存档。我有一个非常简单的测试页面,带有按钮和下载链接。单击该按钮会使用 jszip library 生成一个 zip 文件。
我正在使用 HTML5 和移动版 jquery 开发离线应用程序。我想使用 jszip 从本地存储备份文件。下面是我所做的代码片段...... if (localStorageKeys.lengt
使用 JSZip , 有没有办法在压缩文件中编辑文件? 我已经尝试寻找解决方案并通过 API,但我似乎无法找到解决方案。 任何帮助都会很棒!提前致谢! 最佳答案 您可以使用 .file 方法编辑 zi
我是一名优秀的程序员,十分优秀!