【发布时间】:2016-09-14 07:42:51
【问题描述】:
我在 ExpressJS 中使用 multer。我想将文件上传限制为 0.5 MB。
var limits = { fileSize: 0.5 * 1024 * 1024 };
var upload = multer({ dest: './public/uploads/', limits: limits
}).single('upl')
app.post('/',upload, function (req, res) {
upload(req, res, function (err) {
if (err) {
console.log("cs " + err);
return
}
res.end('You new avatar is uploaded')
// Everything went fine
})
})
当文件小于 0.5 MB 时,我可以看到“你的新头像已上传”,但当文件结束时,我会看到,
Error: File too large
at makeError (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\multer\lib\make-error.js:12:13)
at abortWithCode (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\multer\lib\make-middleware.js:77:22)
at FileStream.<anonymous> (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\multer\lib\make-middleware.js:139:11)
at emitNone (events.js:80:13)
at FileStream.emit (events.js:179:7)
at PartStream.onData (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\busboy\lib\types\multipart.js:220:18)
at emitOne (events.js:90:13)
at PartStream.emit (events.js:182:7)
at readableAddChunk (_stream_readable.js:153:18)
at PartStream.Readable.push (_stream_readable.js:111:10)
显然,我绝不希望最终用户看到这一点。我该如何正确处理?
【问题讨论】:
-
那个错误正在返回给浏览器?我很惊讶。