Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在react/javascript中修改zip文件_Javascript_Reactjs_Unzip - Fatal编程技术网

在react/javascript中修改zip文件

在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

我想允许用户修改他们上传的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(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新手。这能回答你的问题吗?