[英]Upload multiple files with Multer ? (Nodejs)
我只是無法弄清楚為什么我的代碼如下。 我嘗試上傳由簡單上傳器(JADE)提供的多個文件:
input#upload-gallery(type='file', multiple="multiple", name='picture')
和一些javascript控制器,每次用戶將文件插入上傳器時發送數據
$("#upload-gallery").on('change', function(){
var files = $(this).get(0).files;
if (files.length > 0) {
var formData = new FormData();
for (var i = 0; i < files.length; i++) {
var file = files[i];
formData.append('pictures', file, file.name);
}
$.ajax({
url : '/upload/pictures',
type : 'POST',
data : formData,
processData : false,
contentType : false,
success : function (links) {
}
});
}
})
這是服務器部分:
var multer = require('multer');
var upload = multer({dest: "./gallery"});
...
...
app.post('/upload/pictures', upload.any(), function(req, res, next){
console.log(req.files) // <-- it always return [] array
});
問題是req.files
總是返回一個空數組。 我可以讓它上傳單個文件就好了,但我不能讓它上傳多個文件。 那么這里有什么問題?
到目前為止我嘗試過的:
formData
部分更改為formData.append('pictures[]', file, file.name);
不工作 upload.any()
更改為upload.array('pcitures')
,不起作用 事實證明我有一個與multer
沖突的multipart
插件。 剛剛在app.js中注釋掉了這些內容
//var multipart = require('connect-multiparty');
//app.use(multipart());
而問題已經消失
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.