问题描述
当我从前端应用程序接收到 node.js 服务器的多部分内容类型创建 xlsx 文件时,我遇到了一个问题,显示 FILE_ENDED
。
目前做的事情如下,
- 我已经在 fastify 中注册了 fastify-multipart,
fastify.register(fastifyMultipart,{
attachFieldsToBody: true,sharedSchemaId: 'uploadFile',limits: {
files: 1 // Max number of file fields
}
});
fastify.addContentTypeParser('multipart/form-data',(request,done) => {
done(null,request);
});
- 处理来自控制器 req.body 的文件,
function uploadFile(req,reply) {
const attrs = req.body;
upload(attrs)
.then(() => {
reply.code(200).send({ message: 'File uploaded successfully' });
})
.catch((error: FastifyError) => {
reply.send(error);
});
}
import util from 'util';
import { pipeline } from 'stream';
const pump = util.promisify(pipeline);
function upload(attrs) {
const { file } = attrs;
const { file: fileContent,mimetype: fileType } = file;
const fileName = `${new Date().getTime()}.xlsx`;
const filePath = `${__dirname}/${fileName}`;
await pump(fileContent,createWriteStream(filePath));
return Promise.resolve();
}
期望结果保存文件并返回成功消息。
相反,我收到如下错误,
{
errors: 'FILE_ENDED'
}
感谢任何帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)