Node.js 如何避免在Node js中过早返回强大的功能
我使用以下代码在NodeJS中上传和读取文件。除了从方法中提前返回之外,它按预期工作。该方法在激发“fileBegin”和“file”事件之前返回。你能告诉我,我需要做什么来改变它,使它返回后,文件上传和处理Node.js 如何避免在Node js中过早返回强大的功能,node.js,formidable,Node.js,Formidable,我使用以下代码在NodeJS中上传和读取文件。除了从方法中提前返回之外,它按预期工作。该方法在激发“fileBegin”和“file”事件之前返回。你能告诉我,我需要做什么来改变它,使它返回后,文件上传和处理 const form = new formidable.IncomingForm(); form.parse(req); form.on('fileBegin', async function (name, file) { ............... }); form.on('fi
const form = new formidable.IncomingForm();
form.parse(req);
form.on('fileBegin', async function (name, file) {
...............
});
form.on('file', async function (name, file) {
...............
})
.on("end", function () {
...............
});
}
......................
......................
......................
return "Success"
}
使用中间件
const fs = require('fs')
const fileType = require('file-type')
const multiparty = require('multiparty')
const uploadMiddleware = (request, response, next) => {
if (request.method !== 'POST') {
next()
return
}
const form = new multiparty.Form()
form.parse(request, async (error, fields, files) => {
if (error) throw new Error(error);
// const file = files.file[0]
// const buffer = fs.readFileSync(file.path)
// request.file = your file
next()
} catch (error) {
return response.status(400).send(error)
}
})
}
app.post('/upload', multipartUpload, yourController)
谢谢你,法迪。我需要使用可伪造的表单创建表单和事件触发。谢谢Fadi。但是我需要使用可格式化的表单来上传和处理文件。重要的部分是在您不在时将
next
功能传递给控制器!