问题描述
我正在使用 fast-csv 将数据从 mongodb 转换为 CSV 格式,然后将其保存到产品文件夹中,其中还存在所有横幅图像。因此,我正在压缩包含所有横幅图像和 CSV 文件的产品文件夹,并返回带有 res.download
的 zip 文件作为 API 调用的响应。
以下代码只包含必要的部分。
import * as csv from "fast-csv";
const ws = fs.createWriteStream("products/file.csv");
csv
.write(data,{
headers: [
"_id","name","description","banner",],})
.on("finish",function () {
// console.log("Write to csv successfully!");
})
.pipe(ws)
.on("close",async function () {
try {
if (!fs.existsSync("tmp")) {
fs.mkdirsync("tmp");
}
await zipDir("products","tmp/zipfile.zip");
res.download("tmp/zipfile.zip","products.zip",async function (err) {
if (err) {
console.error(err);
}
});
} catch (error) {
console.error(error);
}
});
此代码在产品较少且 zip 文件较小时有效,但对于较大的 zip 文件失败并出现错误
Error: Request aborted
at onaborted (/home/user/project/node_modules/express/lib/response.js:1025:15)
at Immediate._onImmediate (/home/user/project/node_modules/express/lib/response.js:1067:9)
at processImmediate (internal/timers.js:461:21) {
code: 'ECONNABORTED'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)