我正在使用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会为我将文件保存在指定的目标文件夹中。
所有这些都工作正常,但我有以下问题:
您可以使用以下onError选项处理错误:
onError
app.post('/upload',[ multer({ dest : './uploads/', onError : function(err, next) { console.log('error', err); next(err); } }), function(req, res) { res.status(204).end(); } ]);
如果调用next(err),则将跳过您的路由处理程序(生成204),并且Express将处理该错误。
next(err)
我 认为 (不确定100%取决于multer实现方式)在保存文件时将调用您的路由处理程序。onFileUploadComplete上传完成后,您可以用来记录一条消息,并将其与调用路由处理程序时进行比较。
multer
onFileUploadComplete
查看代码,multer当文件完全上传后,调用下一个中间件/路由处理程序。