2016-07-29 1 views
0

3番目のサーバーでアップロードされたファイルの割合を確認したいとします。下記の が私のコントローラコードです。ファイルを第3のサーバにアップロードする 。node.jsでformdataを使用してファイルのアップロードの進行状況を確認するにはどうすればよいですか?

BASE.APP.post('/uploadFile/:request/:file', function (req, res, next) { 

    //var form = new BASE.multiparty.Form(); 
    var path = 'uploads/'+req.params.file; 
    var fstream = BASE.FS.createReadStream(path); 
    //form.on('part', function(part) { 
    // console.log('inside'); 



     var url = req.usersession.webipAddress; 

/* var formData = { 
     file: { 
     value: BASE.FS.createReadStream(path), 
     options: { 
      fileNameUnique: req.params.file 
     } 
     } 
    }; 

    // Post the file to the upload server 
    BASE.request.post({url: url+'test/service/uploadFile/', formData: formData});*/ 
    /*var form = new BASE.FormData(); 
      form.append('fileNameUnique', req.params.file); 

      form.append('file',fstream); 
     */ 
     var formData = { 
      fileNameUnique: req.params.file, 
      file: fstream 
     }; 


      var r = BASE.request.post({url: url+'test/service/uploadFile/', formData: formData}, function(err1, res1, body){ 
       console.log('new method err' + err1); 
       console.log('new method' + res1); 
       clearInterval(tasktimeoutId); 
        tasktimeoutId = false; 

       res.send(res1); 
      }); 



var tasktimeoutId = null; 
if(!tasktimeoutId){ 
         tasktimeoutId = setInterval(function(){ 
    console.log('interval inside'); 
    interrupttable.findOne({ "filename": req.params.file }, function(err, thor) { 
      if (thor!=null) 
      { 
       console.log('null inside'); 
       if(thor.status=='interrupt') 
       { 
        console.log('interrupt'); 

     r.abort();    
        r = null; 
        clearInterval(tasktimeoutId); 
        tasktimeoutId = false; 
        res.send("interrupted"); 
        //return 
    //next(err); 

       } 
      } 
    }); 
     }, 1000); 
} 

    }); 

割合でファイル進行状況を確認する方法はあります。だから私は フロントエンドの進行状況バーを表示することができます。

答えて

関連する問題