我正在使用 multer 将文件保存在通过 express 和 nodejs 开发的服务器上。
我正在使用以下代码。
var express = require('express'),
multer = require('multer')
var app = express()
app.get('/', function(req, res){
res.send('hello world');
});
app.post('/upload',[ multer({ dest: './uploads/'}), function(req, res){
res.status(204).end()
}]);
app.listen(3000);
Multer 为我将文件保存在指定的目标文件夹中。
所有这一切都很好,但我有以下问题:
- 如果由于各种原因文件保存失败,看起来我的路线将始终返回状态 204。
- 我不确定是在保存文件后返回状态 204 还是在异步保存文件时返回状态 204。
原文由 SharpCoder 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
onError
选项处理错误:如果您调用
next(err)
,您的路由处理程序(生成 204)将被跳过,错误将由 Express 处理。我 _认为_(不是 100% 确定,因为这取决于
multer
的实现方式)在保存文件时将调用您的路由处理程序。您可以使用onFileUploadComplete
在上传完成时记录一条消息,并将其与调用路由处理程序时进行比较。查看代码,
multer
当文件完全上传时调用下一个中间件/路由处理程序。