1
我只是無法弄清楚爲什麼我的代碼在下面。我試着上傳,通過一個簡單的上傳(JADE)指定的多個文件:用Multer上傳多個文件? (Nodejs)
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')
,不起作用
我得到了它,我的工作與你已經提供的代碼。是否有矛盾的路線或形式不是多部分/形式數據? – Aldose
你說得對。我創建了另一個新的乾淨項目,只是爲了測試我是否有故障「節點」或其他東西。有用! – DennyHiu