You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用huggingface.js保存Blob对象?本地存图遇报错

解决Huggingface.js文本生成图片后无法保存到本地的问题

调用Huggingface.js推理API成功拿到Blob图片数据,但执行blob.stream().pipe(fs.createWriteStream(fileName))时报错:Blob.stream(...).pipe is not a function。

问题原因

Node.js中的Blob对象stream()方法返回的是Web Stream,而fs.createWriteStream属于Node.js原生流,两者遵循不同的标准,不能直接用pipe方法连接。

解决方案

方案一:将Blob转为Buffer后写入文件

把Blob转成ArrayBuffer,再转换为Node.js的Buffer,直接写入文件,兼容性更强(支持所有Node.js版本):

const blob = await inference.textToImage({
    model: 'stabilityai/stable-diffusion-2',
    inputs: 'award winning high resolution photo of a giant tortoise/((ladybird)) hybrid, [trending on artstation]',
    parameters: {
        negative_prompt: 'blurry',
    }
})

const fileName = 'generated_image.jpg';
// 转换Blob为Buffer
const arrayBuffer = await blob.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);

// 写入文件(回调版本)
fs.writeFile(fileName, buffer, (err) => {
    if (err) {
        console.log('Error:', err);
        return;
    }
    console.log('finished');
});

// 或者用Promise版本(更简洁)
// await fs.promises.writeFile(fileName, buffer);
// console.log('finished');

方案二:转换Web Stream为Node.js流(Node.js 18+)

Node.js 18及以上版本支持stream/web模块,可以把Web Stream转换成Node.js可读流,再通过pipeline处理流(推荐,自动处理错误和资源关闭):

const { pipeline } = require('stream/promises');
const { Readable } = require('stream/web');

const blob = await inference.textToImage({
    model: 'stabilityai/stable-diffusion-2',
    inputs: 'award winning high resolution photo of a giant tortoise/((ladybird)) hybrid, [trending on artstation]',
    parameters: {
        negative_prompt: 'blurry',
    }
})

const fileName = 'generated_image.jpg';
// 将Web Stream转为Node.js可读流
const nodeReadable = Readable.fromWeb(blob.stream());

// 使用pipeline完成流传输
try {
    await pipeline(nodeReadable, fs.createWriteStream(fileName));
    console.log('finished');
} catch (e) {
    console.log('Error:', e);
}

注意事项

  • 若使用Node.js 18以下版本,只能用方案一;
  • 方案二的pipeline方法比手动监听finish/error更可靠,能自动处理流的异常和资源释放。

内容的提问来源于stack exchange,提问作者Ya.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 21:30:56