私はちょうどなぜ私のコードの下に何が間違っているか考え出していない。ここでは、サーバーの一部だMulterで複数のファイルをアップロードしますか? (Nodejs)
$("#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) {
}
});
}
})
をアップローダするたびにユーザーの挿入ファイルをデータを送信するために、
input#upload-gallery(type='file', multiple="multiple", name='picture')
といくつかのjavascriptコントローラ:私は、単純なアップローダー(JADE)によって与えられた複数のファイルをアップロードしよう:
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
は常に空の配列を返します。私は1つのファイルをアップロードするためにそれを作ることができますが、複数のファイルをアップロードすることはできません。ここで何が間違っていますか?
私がこれまで試してみました何:
- 変更
formData
一部upload.array('pcitures')
に変更upload.any()
formData.append('pictures[]', file, file.name);
に動作していない、
を行っています。競合するルートがあるか、フォームがマルチパート/フォームデータではありませんか? – Aldose
あなたはそうです。私は誤ったノードやその他のものがあるかどうかをテストするために別の新しいクリーンなプロジェクトを作成します。できます! – DennyHiu