【问题标题】:file uploading with Multer in nodejs在 nodejs 中使用 Multer 上传文件
【发布时间】:2017-03-29 13:47:47
【问题描述】:

我使用Multer 1.2.0 版和nodejs,每当我尝试以base64 上传图像时出现错误--错误:字段值太长 错误

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) 

代码:

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');
});

无法理解我在哪里失踪,请提出任何建议。 提前谢谢你。

【问题讨论】:

  • 您是否尝试在 /admin/uploadpicture 路由中设置 upload.single('field') 而不是 upload
  • 我必须一次上传四张图片,这就是为什么我使用 var upload = multer({ storage: storage }).any()

标签: node.js express multer


【解决方案1】:

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

multer({
  limits: { fieldSize: 2 * 1024 * 1024 }
})

refer link

【讨论】:

    【解决方案2】:

    您可以使用 upload.array('field') 上传任意数量的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多