Skip to content

Instantly share code, notes, and snippets.

@nick-ChenZe
Forked from leizongmin/readRemoteFile.js
Created December 14, 2016 02:11
Show Gist options
  • Save nick-ChenZe/c6d7788169b859cbfb60d71930b1b6c9 to your computer and use it in GitHub Desktop.
Save nick-ChenZe/c6d7788169b859cbfb60d71930b1b6c9 to your computer and use it in GitHub Desktop.
Node.js 读取远程文件
var http = require('http');
/**
* 读取远程文件
*
* @param {String} url
* @param {Function} cb
* - {Error} err
* - {Buffer} buf
*/
function readRemoteFile (url, cb) {
var callback = function () {
// 回调函数,避免重复调用
callback = function () {};
cb.apply(null, arguments);
};
var req = http.get(url, function (res) {
var b = [];
res.on('data', function (c) {
b.push(c);
});
res.on('end', function () {
callback(null, Buffer.concat(b));
});
res.on('error', callback);
});
req.on('error', callback);
}
readRemoteFile('http://www.baidu.com/img/bdlogo.gif', function (err, buffer) {
if (err) throw err;
console.log(buffer.length, buffer);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment