所以,我有一个在heroku中托管的Web应用程序,当我更新我的github存储库时会自动更新。我想让用户从客户端下载所有应用程序文件及其文件夹,图像等作为zip文件,以便他可以在本地离线运行。在强制将其下载到浏览器上之前,我还想在该zip文件中添加一个包含用户注释的文件。
我找到了一种方法,可以通过将他重定向到github来实现(但实际上并没有将他重定向到那里,它只会强制从github下载一个zip文件):
window.location.replace("https://github.com/foo/FOO/archive/master.zip");
但是这个解决方案并不适用于我,因为我想在该zip文件中添加一个将在用户下载请求时创建的其他文件。
有没有人有解决方案? 有没有办法通过向herokku请求接收文件并使用jszip打包它们来做到这一点?
答案 0 :(得分:0)
我使用github的服务,JSZipUtils和jszip找到了解决方案。以下是可能有用的代码:
var content = null;
JSZipUtils.getBinaryContent("https://github.com/foo/FOO/archive/master.zip", function(err, data) {
if(err) {
throw err; // or handle err
}
var zip = new JSZip(data);
// to remove a not needed file
zip.remove("CWAPP-master/abc.js");
// to add a custom file
zip.file('CWAPP-master/myClientSideFile.js',file);
content = zip.generate({type:"blob"});
saveAs(content, 'myZip'); // force download
});