2012-04-27 5 views
0

http.getで画像ファイルのリストをダウンロードしたいと思っています。 私はリストを通過するためのforループを持っており、変数file_savedestに保存場所を表す文字列を設定します。 http.getは各ループの反復で呼び出されますが、http_getにfile_savedestを入力して、ダウンロードして保存するファイルを知るようにします。http.getファイルのリストをダウンロードするループ

var file_savedest = dir+"/"+iname; 

    http.get(options, function(res){ 
     var imagedata = ''; 
     res.setEncoding('binary'); 

     res.on('data', function(chunk){ 
      imagedata += chunk 
     }); 

     res.on('end', function(){ 
      fs.writeFile(file_savedest, imagedata, 'binary', function(err){ 
       if (err){ 
        console.log(err); 
       } else { 
        console.log("File:" + file_savedest + " saved"); 
       } 
      }); 
     }); 
    }); 

答えて

2

closureを使用します。

(function(file_savedest){ 
    http.get(options, function(res){ 
     var imagedata = ''; 
     res.setEncoding('binary'); 

     res.on('data', function(chunk){ 
      imagedata += chunk 
     }); 

     res.on('end', function(){ 
      fs.writeFile(file_savedest, imagedata, 'binary', function(err){ 
       if (err){ 
        console.log(err); 
       } else { 
        console.log("File:" + file_savedest + " saved"); 
       } 
      }); 
     }); 
    }); 
}(dir+"/"+iname)); 
関連する問題