Estoy usando reactjs y chrome.
He creado una página web donde puedo cargar un archivo de almacenamiento y quiero seguir trabajando en el archivo.
Cuando el archivo de almacenamiento es 7zip, estoy usando este nodo de biblioteca-7z para intentar extraer un solo archivo de él.
La documentación oficial en el enlace sugiere usarlo así:
// myStream is a Readable stream const myStream = Seven.extractFull('./archive.7z', './output/dir/', { $progress: true })Mi código (parte de él):
import sevenBin from '7zip-bin' import Seven from 'node-7z' const _7zOpen = async (f) => { console.log('_7zOpen !! ', f) // myStream is a Readable stream const myStream = Seven.extractFull(f.path, './output/dir/', { $progress: true }) myStream.on('data', function (data) { console.log(data) }) myStream.on('progress', function (progress) { console.log(progress) }) } donde la entrada f es un objeto de archivo:
_7zOpen !! File {path: 'CE027001-120011101924-T100.7z', name: 'CE027001-120011101924-T100.7z', lastModified: 1599377977254, lastModifiedDate: Sun Sep 06 2020 16:39:37 GMT+0900, webkitRelativePath: '', …} lastModified: 1599377977254 lastModifiedDate: Sun Sep 06 2020 16:39:37 GMT+0900 {} name: "CE027001-120011101924-T100.7z" path: "CE027001-120011101924-T100.7z" size: 75602083 type: "application/x-7z-compressed" webkitRelativePath: "" [[Prototype]]: FileDa un error:
Unhandled Rejection (TypeError): spawn is not a function ▼ 3 stack frames were expanded. run node_modules/node-7z/src/lifecycle.js:74 (anonymous function) node_modules/node-7z/src/main.js:55 extractFull node_modules/node-7z/src/commands.js:27 ▲ 3 stack frames were expanded. _7zOpen src/components/shared/utils/compressedFileHandler.js:56 53 | 54 | 55 | const pathTo7zip = sevenBin.path7za; > 56 | const seven = Seven.extractFull(f.path, './output/dir/', { | ^ 57 | $bin: pathTo7zip 58 | }); 59 |Probé de otra manera:
const _7zOpen = async (f) => { console.log('_7zOpen !! ', f) const pathTo7zip = sevenBin.path7za; const seven = Seven.extractFull(f.path, './output/dir/', { $bin: pathTo7zip }); }que da el mismo mensaje de error cuando se carga el archivo.
Podría ser que el f.path no sea válido. ¿Cómo puedo encontrar la ruta correcta para alimentar a la función?