问题描述
我已经为节点使用了路由控制器库,我需要使用Busboy来获取多部分/表单数据。我有这个Busboy代码,如何用路由控制器实现它?
export const upload = (req: any,res: any) => {
if (req.method !== 'POST') {
return res.status(405).end();
}
const busboy = new Busboy({
headers: req.headers,limits: {
fileSize: 10 * 1024 * 1024,},});
const tmpdir = os.tmpdir();
const fields: any = {};
const uploads: any = {};
busboy.on('field',(fieldname,val) => {
console.log(`Processed field ${fieldname}: ${val}.`);
fields[fieldname] = val;
});
const fileWrites: any = [];
busboy.on('file',file,filename) => {
console.log(`Processed file ${filename}`);
const filepath = path.join(tmpdir,filename);
uploads[fieldname] = filepath;
const writeStream = fs.createWriteStream(filepath);
file.pipe(writeStream);
const promise = new Promise((resolve,reject) => {
file.on('end',() => {
writeStream.end();
});
writeStream.on('finish',resolve);
writeStream.on('error',reject);
});
fileWrites.push(promise);
}); continue...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)