在react/javascript中修改zip文件
我想允许用户修改他们上传的zip文件,然后将其提交到服务器。我的UI是使用react js创建的,我使用JsZip库来实现它在react/javascript中修改zip文件,javascript,reactjs,unzip,Javascript,Reactjs,Unzip,我想允许用户修改他们上传的zip文件,然后将其提交到服务器。我的UI是使用react js创建的,我使用JsZip库来实现它 var zip = new JSZip(); let myZip = null; zip.loadAsync(f).then( zipFile => { Object.keys(zipFile.files).forEach(filename => { zip.file(fi
var zip = new JSZip();
let myZip = null;
zip.loadAsync(f).then( zipFile => {
Object.keys(zipFile.files).forEach(filename => {
zip.file(filename, text);
myZip = zipFile.generateAsync({type : "string"}).then(function (blob) {
myZip = new File([blob], "hello.zip");
});
;
})
});
注意:zip在入门级只有一个文件。其余的在一个文件夹中
问题是我无法使用generateAsync函数创建最终的zip。myZip对象为空。
感谢您的帮助。谢谢。谢谢你的帮助。我通过在generateAsync函数中将类型从string改为blob来解决这个问题。文档中对可能的“类型”列表及其用法有点不清楚。这使我可以直接创建一个blob并在POST请求中使用它,而不是先创建一个字符串,然后再从中创建一个文件对象。您试过了吗
zipFile.generateAsync({type:“string”})。然后(function(myZip){…})
@GuyIncognito我实际上不想下载它,我想它作为服务器请求的一部分发送。我确实使用了.然后尝试在里面创建一个文件对象,但它也给了我null@GuyIncognito我已经用.then代码修改了描述。请告诉我里面有没有错误。我是javascript新手。这能回答你的问题吗?