快速路由器设置如下:
var router = require('express').Router();
var multer = require('multer');
var uploading = multer({
dest: './uploads/',
limits: {fileSize: 1000000, files:1},
});
router.post('/upload', uploading.single('avatar'), function(req, res) {
console.log('success');
});
module.exports = router;
我正在尝试上传文件:
curl -F "image=@/Users/runtimeZero/Desktop/nassau.jpg" localhost:3000/auth/upload
快递服务器抛出以下错误:
Error: Unexpected field
at makeError (/Users/.../node_modules/multer/lib/make-error.js:12:13)
at wrappedFileFilter (/Users/../node_modules/multer/index.js:39:19)
...
...
at HeaderParser.push (/Users/.../node_modules/multer/node_modules/busboy/node_modules/dicer/lib/HeaderParser.js:46:19)
at Dicer._oninfo (/Users/.../node_modules/multer/node_modules/busboy/node_modules/dicer/lib/Dicer.js:197:25)
从multer文件来看,这似乎非常简单。然而,实际使用它时并非如此。我错过了什么?
答案 0 :(得分:0)
如果查看multer
readme,您会看到multer()
返回一个包含各种函数的对象,这些函数会根据您的需要返回不同的中间件。
例如,要接受name
为“头像”的单个文件:
var upload = multer({dest: './uploads/'});
router.post('/upload', upload.single('avatar'), function(req, res) {
console.log('success');
});