首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用NodeJS与AppJS结合JSZip封装Zip

用NodeJS与AppJS结合JSZip封装Zip
EN

Stack Overflow用户
提问于 2015-07-18 23:13:06
回答 1查看 2K关注 0票数 0

我的原始文件不会使用本地方法下载,所以我决定使用Node.js,因为它已经打包在AppJS中,而压缩文件仍然不会在AppJS中执行。

代码语言:javascript
复制
$(".export").on("click", function() {
  var fs = require("fs");
  var JSZip = require("jszip");

  var zip = new JSZip();
  zip.file("hello.txt", "Hello node!");

  var content = zip.generate({type:"nodebuffer"});
  // saveAs(content, "test.zip");

  fs.writeFile("test.zip", content, function(err) {
    if (err) throw err;
  });
});
代码语言:javascript
复制
body {
  background: #fff;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://stuk.github.io/jszip/dist/jszip.min.js"></script>
<script src="http://stuk.github.io/jszip-utils/dist/jszip-utils.js"></script>
<script src="http://stuk.github.io/jszip/vendor/FileSaver.js"></script>

<button class="export">Download</button>

注意:我尝试过使用files保存文件,但我唯一想用AppJS成功编写文件的方法是使用Node.js,如下所示。

代码语言:javascript
复制
var fs = require("fs");
fs.writeFile("hello.txt", "Hi", function(err) {
  if (err) throw err;
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-18 23:34:33

我没有使用Node,而是在浏览器中执行类似的操作,这也需要FileSaver.js

你试过:

代码语言:javascript
复制
var JSZip = require('jszip');
var saveAs = require('filesaver.js');

var zip = new JSZip();
zip.file("hello.txt", "Hello node!");

var blob = zip.generate({type: 'blob'});
saveAs(blob, 'images.zip');

这里主要的区别是使用{type: 'blob'}而不是nodebuffer。我成功地使用一个简单的XHR下载模块将响应类型设置为arraybuffer

代码语言:javascript
复制
module.exports = function download(url, callback) {
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url, true);
  xhr.responseType = 'arraybuffer';

  xhr.onload = function(e) {
    callback(null, xhr.response);
  };

  xhr.onerror = function(e) {
    callback(status.response);
  };

  xhr.send(null);
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31496460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档