【问题标题】:nodejs trying to read stream of jpg data from return functionnodejs试图从返回函数读取jpg数据流
【发布时间】:2023-03-08 09:17:01
【问题描述】:

我正在尝试从 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) 调用它,但我也不确定选项应该是什么。

如果有人可以帮助我或指出正确的方向,我将不胜感激!

【问题讨论】:

  • 没人知道怎么做?

标签: node.js stream imdb


【解决方案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();
    });

【讨论】:

  • 谢谢!想通了,但很高兴把它放在这里以供其他人将来参考!
猜你喜欢
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 2022-01-27
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多