在nodejs中使用Multer上传文件

vis*_*swa 2 node.js express multer

我正在使用带有 nodejs 的 Multer版本 1.2.0,每当我尝试在 base64 中上传图像时都会出现错误 --Error: Field value too long Error

Error: Field value too long
at makeError (C:\xampp\htdocs\sitename\node_modules\multer\lib\make-error.js:12:13)
at abortWithCode (C:\xampp\htdocs\sitename\node_modules\multer\lib\make-middleware.js:77:22)
at Busboy.<anonymous> (C:\xampp\htdocs\sitename\node_modules\multer\lib\make-middleware.js:83:34)
at Busboy.emit (events.js:118:17)
at Busboy.emit (C:\xampp\htdocs\sitename\node_modules\multer\node_modules\busboy\lib\main.js:31:35)
at PartStream.onEnd (C:\xampp\htdocs\sitename\node_modules\multer\node_modules\busboy\lib\types\multipart.js:261:15)
at PartStream.emit (events.js:129:20)
at Dicer.onPart (C:\xampp\htdocs\sitename\node_modules\multer\node_modules\busboy\lib\types\multipart.js:120:13)
at Dicer.emit (events.js:107:17)
at Dicer.emit (C:\xampp\htdocs\sitename\node_modules\multer\node_modules\busboy\node_modules\dicer\lib\Dicer.js:80:35) 
Run Code Online (Sandbox Code Playgroud)

代码:

var multer  = require('multer');

var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, './photos')
    },
    filename: function (req, file, cb) {
        cb(null, file.fieldname + '-' + Date.now())
    }
})

var upload = multer({ storage: storage }).any()

app.post('/admin/uploadpicture', upload, function(req, res) {
    res.send('Test');
});
Run Code Online (Sandbox Code Playgroud)

无法理解我遗漏的地方,请提出任何建议。先感谢您。

小智 5

使用限制选项增加字段数据限制:

multer({
  limits: { fieldSize: 2 * 1024 * 1024 }
})
Run Code Online (Sandbox Code Playgroud)

参考链接