我正在开发一个基于Node.js / Express.js的服务器脚本,用于接收包含多个文件的.tar.gz存档。该脚本必须解压缩存档中的CSV文件,并对其进行解析并将一些内容存储在数据库中。不需要将文件存储在服务器上,只需处理它们。为了上传文件,我使用Multer而没有指定存储文件的位置,因此文件上传仅在
我的问题是,如何解压缩缓冲区并获取文件内容? 如果我执行以下操作:
我不仅可以提供文件的内容,还能将文件名和元数据等全部信息以字符串形式返回,这使得解析变得棘手。是否有更好的方法?
req.files
中作为Buffer
可用。我的问题是,如何解压缩缓冲区并获取文件内容? 如果我执行以下操作:
const { unzipSync } = require('zlib');
const zipped = req.files[0];
const result = await unzipSync(zipped.buffer);
const str = result.toString('utf-8');
我不仅可以提供文件的内容,还能将文件名和元数据等全部信息以字符串形式返回,这使得解析变得棘手。是否有更好的方法?
tar
,然后使用exec
或spawn
从磁盘加载结果数据呢? - Mike 'Pomax' Kamermans