Node.js

node.js でインターネット上の画像をダウンロード

More than 3 years have passed since last update.

request で取得、fs で保存してみる

バイナリを壊さないように注意する。

  • request でのエンコーディング指定は {encoding: null}
  • fs でのエンコーディング指定は 'binary'
package.json
{
    "dependencies": {
        "request": "*",
        "fs": "*"
    }
}
test.js
var request = require('request');
var fs = require('fs');

var url = 'https://www.google.co.jp/images/nav_logo195.png';

request(
    {method: 'GET', url: url, encoding: null},
    function (error, response, body){
        if(!error && response.statusCode === 200){
            fs.writeFileSync('a.png', body, 'binary');
        }
    }
);
実行
npm install
node test.js

参考