nodejs试图从返回函数读取jpg数据流
Posted
技术标签:
【中文标题】nodejs试图从返回函数读取jpg数据流【英文标题】:nodejs trying to read stream of jpg data from return function 【发布时间】:2015-02-03 11:29:02 【问题描述】:我正在尝试从 github 找到的 omdb API 取回海报数据。
我正在获取所有其他电影信息,但我正在努力处理流,我认为你应该从这个函数中获取海报。
omdb API 中的代码如下所示:
// Get a Readable Stream with the jpg image data of the poster to the movie,
// identified by title, title & year or IMDB ID.
module.exports.poster = function (options)
var out = new stream.PassThrough();
module.exports.get(options, false, function (err, res)
if (err)
out.emit('error', err);
else if (!res)
out.emit('error', new Error('Movie not found'));
else
var req = request(res.poster);
req.on('error', function (err)
out.emit('error', err);
);
req.pipe(out);
);
return out;
;
我怎么能从这里得到海报?我使用 omdb.poster(options) 调用它,但我也不确定选项应该是什么。
如果有人可以帮助我或指出正确的方向,我将不胜感激!
【问题讨论】:
没人知道怎么做? 【参考方案1】:您需要先读取流,然后再将其写入某些内容。下面的示例会将 JPEG 文件写入包含海报的文件系统。
const omdb = require('omdb');
const fs = require('fs');
const writeStream = fs.createWriteStream('test.jpg')
omdb.poster( title: 'Saw', year: 2004 )
.on('data', (data) =>
writeStream.write(data)
)
.on('end', () =>
writeStream.end();
);
【讨论】:
谢谢!想通了,但很高兴把它放在这里以供其他人将来参考!以上是关于nodejs试图从返回函数读取jpg数据流的主要内容,如果未能解决你的问题,请参考以下文章