大家都知道 fs.readFile可以读取远程图片获的二进制结果 现在有个需求 想获取远程图片 该怎么办 我不想把图片下载到本地 然后再用fs.readFile去读 增大了开销 有木有办法
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); });
输出2进制不可以么,就像验证码一样
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
输出2进制不可以么,就像验证码一样