![](/img/trans.png)
[英]Unexpected field occurs while uploading csv files to Node.js using Multer
[英]Multer on Node.js throws { Error: Unexpected field… }
我在ng2-file-upload中使用Angular。 我收到一個錯誤:
{ Error: Unexpected field
at makeError (C:\Users\cDotsp27598345\Desktop\Projects\ZeoliteGlobal\node_modules\multer\lib\make-error.js:12:13)
at wrappedFileFilter (C:\Users\cDotsp27598345\Desktop\Projects\ZeoliteGlobal\node_modules\multer\index.js:40:19)
at Busboy.<anonymous> (C:\Users\cDotsp27598345\Desktop\Projects\ZeoliteGlobal\node_modules\multer\lib\make-middleware.js:114:7)
at Busboy.emit (events.js:159:13)
at Busboy.emit (C:\Users\cDotsp27598345\Desktop\Projects\ZeoliteGlobal\node_modules\busboy\lib\main.js:38:33)
at PartStream.<anonymous> (C:\Users\cDotsp27598345\Desktop\Projects\ZeoliteGlobal\node_modules\busboy\lib\types\multipart.js:213:13)
at PartStream.emit (events.js:159:13)
at HeaderParser.<anonymous> (C:\Users\cDotsp27598345\Desktop\Projects\ZeoliteGlobal\node_modules\dicer\lib\Dicer.js:51:16)
at HeaderParser.emit (events.js:159:13)
at HeaderParser._finish (C:\Users\cDotsp27598345\Desktop\Projects\ZeoliteGlobal\node_modules\dicer\lib\HeaderParser.js:68:8)
code: 'LIMIT_UNEXPECTED_FILE',
field: 'file',
storageErrors: [] }
這是我的組件的HTML :( addEvent
函數將調用以下的uploadPicture
函數。)
<form #f="ngForm"(ngSubmit)="addEvent(f.value)">
<input type="file" name="pic" ng2FileSelect [uploader]="uploader"/>
<button type="submit">Submit</button>
</form>
我的Angular組件:
uploadPicture() {
for (const item of this.uploader.queue) {
if (!item.isUploaded) {
item.upload();
}
}
}
和上傳者:
public uploader: FileUploader = new FileUploader({url: this.imgUpldURL, authToken: `Bearer ${localStorage.getItem('token')}`});
還有我的API端點(我使用的是動態ID,如果我提供的路徑沒有動態ID,則仍然無法使用):
const multer = require('multer');
router.post('/uploadEventImage', authCheck, (req, res) => {
const id = req.body.id;
const upload = multer({dest:
`../src/assets/images/news/${id}/`}).single('pic');
console.log('called')
upload(req, res, function (err) {
if (err) {
console.log(err);
return res.end(err.toString());
}
console.log('done');
res.end('File is uploaded');
});
});
這是我后端上所有的multer配置。 該請求已成功接收。 我在網上發現的大多數問題是由於輸入具有與.single('name')
傳遞的名稱屬性不同的名稱屬性引起的,但是如您所見,這並沒有解決任何問題。
原來ng2-file-upload
將所有字段的名稱設置為file
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.