[NodeJS] requestモジュールを使って、サーバーから画像ファイルをダウンロードする
こんにちは、@yoheiMuneです。
先日とあるサイトの不正画像をチェックするために、nodejsで画像ファイルをダウンロードするプログラムを書きました。利用したライブラリやコードなど備忘録として残したいので、ブログを書きたいと思います。
requestモジュールは、httpリクエスト(httpsリクエスト)をコールするためのシンプルなAPIです。今回紹介するGETメソッド以外にもPOSTやPUTが使えたり、OAuthのためのリクエストにも使えたりする便利なモジュールです。
インストールは簡単で以下のように行います。
本ブログでは、フロントエンドやNode.jsに関する情報を中心に発信しています。気になった方はぜひ、RSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
先日とあるサイトの不正画像をチェックするために、nodejsで画像ファイルをダウンロードするプログラムを書きました。利用したライブラリやコードなど備忘録として残したいので、ブログを書きたいと思います。
Special Thanks to https://flic.kr/p/dG9ffs
利用したライブラリ
node.js標準のhttpモジュールを使ってもファイルのダウンロードはできますが、少々実装が面倒です。今回はrequestモジュールを利用しました。requestモジュールは、httpリクエスト(httpsリクエスト)をコールするためのシンプルなAPIです。今回紹介するGETメソッド以外にもPOSTやPUTが使えたり、OAuthのためのリクエストにも使えたりする便利なモジュールです。
インストールは簡単で以下のように行います。
$ npm install request --saveこれで無事にインストールが完了すれば、準備完了です。
リモートサーバーからファイルをダウンロードする
requestモジュールを使ったファイルのダウンロードは、以下のように実装します。/** サーバーからファイルをダウンロードする https://github.com/yoheiMune/node-playground/blob/master/005_download_file/download_file.js */ var fs = require('fs'); var request = require('request'); // ダウンロードURL var fileUrl = 'http://www.yoheim.net/image/sea001.jpg'; // ファイルをダウンロードする request .get(fileUrl) .on('response', function (res) { console.log('statusCode: ', res.statusCode); console.log('content-length: ', res.headers['content-length']); }) .pipe(fs.createWriteStream('./saved.jpg'));こんな数行でファイルダウンロードができるなんて素敵です。
最後に
今回は、Node.jsのrequestモジュールを用いたファイルダウンロードを紹介しました。最近はNode.jsが楽しくなってきて、簡単なバッチファイルもnodeで記述するようになってきました。nodeを便利に使うための色々な実装内容を、これからもブログに書けたらと思います。本ブログでは、フロントエンドやNode.jsに関する情報を中心に発信しています。気になった方はぜひ、RSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!