我正在使用react.js和admin-on-rest开发一个网站。一个功能是允许用户上传pdf文件。
我将文件设为FILE
类型,并希望从FILE
获取文件,将其压缩为zip,然后将其设为FILE
。
所以它应该是FILE
- >原始文件 - > zip文件 - >来自zip文件的FILE
。
我试过JSZip,但仍然无法弄明白。
感谢任何帮助。感谢
答案 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/