我无法使用 multer 上传 2 个文件
I can't upload 2 files using multer
我有 2 个文件(1 个视频和 1 个图像),我想使用 multer 将其上传到我的服务器
这是我的反应代码:
const data = new FormData();
data.append('banner', this.state.banner);
data.append('preview', this.state.preview);
axios.post('/lesson', data).then(() => {})
<div>
<input type="file" id='file1' onChange={this.handleUploadFile1} />
<input type="file" id='file2' onChange={this.handleUploadFile2} />
</div>
这是我的服务器代码:
router.post('/lesson', upload.single('banner'), upload.single('preview'),controller.addLesson)
然后我得到这个错误:
MulterError: Unexpected field
请帮我解决这个问题
您应该使用 upload.any()
或 upload.array()
而不是 upload.single()
。
此外,您可以这样做:
let multerWithFields = upload.fields([{ name: 'banner', maxCount: 1 }, { name: 'preview', maxCount: 1 }])
router.post('/lesson', multerWithFields, controller.addLesson)
我有 2 个文件(1 个视频和 1 个图像),我想使用 multer 将其上传到我的服务器 这是我的反应代码:
const data = new FormData();
data.append('banner', this.state.banner);
data.append('preview', this.state.preview);
axios.post('/lesson', data).then(() => {})
<div>
<input type="file" id='file1' onChange={this.handleUploadFile1} />
<input type="file" id='file2' onChange={this.handleUploadFile2} />
</div>
这是我的服务器代码:
router.post('/lesson', upload.single('banner'), upload.single('preview'),controller.addLesson)
然后我得到这个错误:
MulterError: Unexpected field
请帮我解决这个问题
您应该使用 upload.any()
或 upload.array()
而不是 upload.single()
。
此外,您可以这样做:
let multerWithFields = upload.fields([{ name: 'banner', maxCount: 1 }, { name: 'preview', maxCount: 1 }])
router.post('/lesson', multerWithFields, controller.addLesson)