2016-08-21 3 views
1

나는 아래 코드를 왜 잘못 생각할 수 없습니까? 다음은 서버 부분의 사용자 삽입 파일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') 

일부 자바 스크립트 컨트롤러 : 나는 간단한 업 로더 (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은 항상 빈 배열을 반환한다는 것입니다. 하나의 파일을 업로드해도 괜찮지 만 여러 파일을 업로드 할 수는 없습니다. 그럼 여기서 뭐가 잘못 됐니?

내가 지금까지 시도하는 것 :

  • 변화 formData 부분 upload.array('pcitures')로 변경 upload.any()
  • formData.append('pictures[]', file, file.name);에 작동하지 않는,
+0

을 사라. 충돌 경로가 있거나 양식이 다중/양식 데이터가 아닌가요? – Aldose

+0

당신 말이 맞아요. 나는 오작동'노드'또는 다른 것이 있는지 테스트하기 위해 또 다른 새로운 깨끗한 프로젝트를 만듭니다. 그것은 작동합니다! – DennyHiu

답변

0

작동하지 않습니다 내가이 multipart 플러그인을 밝혀 multer과 충돌합니다. 그냥 app.js

//var multipart  = require('connect-multiparty'); 
//app.use(multipart()); 

에서 다음을 주석 처리하고 문제는 당신이 제공 한 코드 나를 위해 일을 가지고

+0

시원하고 시원하며 도움이 될 수있어서 다행입니다. – Aldose