3

ノードアプリケーションで複数のノードモジュールを使用して、1つのファイルをアップロードしていました。今、私は同じmultipartyモジュールを使用して複数のファイルをアップロードしたいと思います。私はグーグルだが、解決策を見つけることができず、linkの 'multer'モジュールを見つけることになりました。だから、 'multiparty'を使ってファイルをアップロードする方法はありますか?ノードに "multiparty"モジュールを使って複数のファイルをアップロードすることはできますか?

答えて

0

requestモジュールをお勧めします。それはあなたの問題を解決するのに役立ちます。

+1

ありがとう@David、同じものを使用した例がより役に立ちます。 – Worker

2

多くの失敗した試行と実験で答えが得られた後、クライアントからサーバーにフォームオブジェクトを送信しました。サーバー側で以下のコードをチェックしてください。

app.post('/multiFileUpload', function(req, res) { 

     var singleFile;  
     var form = new multiparty.Form(); 

     form.parse(req, function(err, fields, files){  
      var fileArry=files.uploadFiles;     
        if(fileArry == null){ 
         res.send('No files found to upload.'); 
          return; 
        } 

         for(i=0; i<fileArry.length; i++) 
         { 
          newPath='./uploads/'; 
          singleFile=fileArry[i]; 
          newPath+=singleFile.originalFilename; 
          readAndWriteFile(singleFile,newPath);      
         } 
         res.send("File uploaded to: " + newPath); 
       }); 

    }); 

    function readAndWriteFile(singleFile , newPath){ 

     fs.readFile(singleFile.path, (err, data)=>{ 
      fs.writeFile(newPath, data, (err)=>{                             
        console.log("File uploaded to :"+newPath); 
       }); 
     }); 
    } 
+0

私はあなたと全く同じことをして、最後のファイルだけをアップロードしました。唯一の違いは、私がreadFileとfs.writeFileをForの内部で行ったことでした。なぜそれが機能していないのかわかりません。 Anywaさん、ありがとう! :D @Worker – Despertaweb

関連する問題