簡體   English   中英

用Multer上傳多個文件? (的NodeJS)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM