在nodejs中将图像的BLOB转换为图像文件

问题描述 投票:0回答:1

我正在开发一个从服务器获取图像的 API,它将图像作为 blob 提供,现在我想将该 blob 转换为图像文件并保存在本地

我曾尝试将图像转换为base64,然后将其转换为图像,还尝试了一些stackoverflow修复,但没有一个起作用

这是代码

async function query(data) {
  var url;
  url = "https://api-inference.huggingface.co/models/prompthero/openjourney";

  try {
    const response = await request(
      {
        method: 'POST',
        uri: url,
        headers: {
          'Authorization': 'AUTHTOKEN-HERE!!!',
        },
        body: JSON.stringify(data),
      }
    );
    const result = await response.blob();
    console.log(result)
    return result;
  }
  catch (err) {
    console.log("error occured");
    console.log(err)
  }

}
node.js image blob node.js-fs
1个回答
0
投票

这是我们如何下载图像文件。

import fs from 'fs';

async function query(data) {
  var url;
  url = "https://api-inference.huggingface.co/models/prompthero/openjourney";

  const response = await fetch(
        url,
        {
            headers: { Authorization: "TOKEN HERE !!!" },
            method: "POST",
            body: JSON.stringify(data),
        }
    );
    const result = await response.blob();
    return result;
}

query({"inputs": "Astronaut riding a horse"}).then(async (response) => {
  fs.writeFileSync('downloaded_image.jpg', Buffer.from(await response.arrayBuffer()));
  console.log('Image downloaded successfully.');
});

您可以添加错误处理逻辑,但上述逻辑将下载图像。

© www.soinside.com 2019 - 2024. All rights reserved.