Javascript创建zip文件

时间:2017-12-04 16:04:54

标签: javascript reactjs zip admin-on-rest

我正在使用react.js和admin-on-rest开发一个网站。一个功能是允许用户上传pdf文件。

我将文件设为FILE类型,并希望从FILE获取文件,将其压缩为zip,然后将其设为FILE

所以它应该是FILE - >原始文件 - > zip文件 - >来自zip文件的FILE

我试过JSZip,但仍然无法弄明白。

感谢任何帮助。感谢

3 个答案:

答案 0 :(得分:1)

Hi Garrick以下是您需要采取的步骤。

1)在rest包装器中处理fileupload https://marmelab.com/admin-on-rest/RestClients.html#decorating-your-rest-client-example-of-file-upload

以上示例用于图片上传。但你基本上会做同样的事情。

2)

const addUploadCapabilities = requestHandler => (type, resource, params) => {
    if (type === 'UPDATE' && resource === 'posts') {
       //use jszip to zip file here and package it however you need
       // call the API with zipped file
   } return requestHandler(type, resource, params);
};

答案 1 :(得分:1)

您可以使用JSZIP

**使用npm安装JSZIP

let zip = require('jszip')();
//hoping you have already taken input
let input = document.getElementById('fileInput'); // fileInput is id of my input element
let file = input.files[0];
let allZip =  zip.file(file.name, file);
console.log(allZip)

我已经在react.js

中实现了此功能

答案 2 :(得分:0)

有一个名为jszip的小应用程序。试试,这会有所帮助。 https://stuk.github.io/jszip/