简单的JSZip -从现有的图像创建Zip文件
Simple JSZip - Create Zip File From Existing Images
我很难找到不涉及Base64或NodeJS的JSZip简单文档。基本上,我有一个目录,其中是test.html和一个名为"images"的文件夹。文件夹里有一堆图像。我想把那个文件夹做成一个zip文件。
有人能帮我一些非常简单的"你好世界"类型的代码吗?http://stuk.github.io/jszip/上的文档包括从Base64数据中添加图像或添加用JavaScript创建的文本文件等内容。我想从现有的文件创建一个。zip文件。
也许唯一支持用JSZip将图像添加到.zip文件的方法是通过Base64数据添加它们?我在文档中没有看到任何地方,也没有看到image-url-to-base64函数,尽管我确实在StackOverflow的其他地方找到了一个。任何建议吗?
在浏览器中,您可以使用ajax请求并使用responseType
属性来获得arraybuffer(如果您需要ie9支持,您可以使用jszip-utils为例):
var xhr = new XMLHttpRequest();
xhr.open('GET', "images/img1.png", true);
xhr.responseType = "arraybuffer";
xhr.onreadystatechange = function(evt) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
var zip = new JSZip();
zip.file("images/img1.png", xhr.response);
}
}
};
xhr.send();
这个示例是有限的,因为它只处理一个文件并手动创建xhr对象(我没有使用任何库,因为您没有提到任何库),但应该向您展示如何做到这一点。
你可以在JSZip文档中找到一个更完整的例子:它使用jQuery promises和jsip -utils来下载一个文件列表,然后触发下载。
如果您使用库来处理ajax请求,请务必检查是否可以请求arraybuffer。默认是将响应视为文本,这将破坏您的图像。例如,jQuery很快就会支持它。
相关文章:
- 为在外部单击时关闭的库图像创建预览效果
- 如何为图像创建“另存为”按钮
- 如何为图像创建具有随机大小的磁贴照片库
- 从网页中的 2 张图像创建新图像
- Javascript/Canvas - 从预先存在的图像创建新图像
- 从 1 个图像创建多个过渡按钮
- 使用 JavaScript 和 CSS 使用 2 张图像创建进度条
- 建议为选择图像创建代码
- 如何从 mysql 数据库中的图像创建图像幻灯片
- 已经为单个图像创建了点击效果,但希望其他图像具有相同的效果
- 如何限制xml文件中显示的12个图像,并自动为其他图像创建页面
- 通过数据库为图像创建上传/下载功能
- Javascript客户端-从网页上的现有图像创建新图像
- Jquery动态图像创建和动画
- 为容器中的非全宽图像创建视差效果
- 为滑块上显示的每个图像创建一个id(Basic jQuery slider)
- 简单的JSZip -从现有的图像创建Zip文件
- 在javascript上从图像创建画布
- 如何从图像创建缩略图
- 在复制时,TinyMCE PowerPaste插件并不总是为图像创建base64字符串