浏览器端读取和生成zip文件

demo-file

示例文件名:gateway.db

格式:zip

示例文件内容:

{
    "test": "hello world"
}

依赖

npm install --save file-saver

npm install jszip

code

import JSZip from 'jszip';
import {saveAs} from 'file-saver';
JSZip.loadAsync(file)
            .then(zip => {
                zip.file('gateway.db').async('string').then(data => {
                    /*
                    {
                            test: "hello world"
                     }
                    */
                    console.log(JSON.parse(data));

                    //生成新的zip文件并下载
                    let new_zip = new JSZip();
                    new_zip.file('gateway.db', data);
                    new_zip.generateAsync({type: 'blob'}).then(content => {
                        
                        //内容 + 文件名
                        saveAs(content, 'gateway.db');
                    });
                });
            });

reference

jszip

原文地址:https://www.cnblogs.com/foxNike/p/6817420.html