gpt4 book ai didi

javascript - 无法在 'pipeTo' : Illegal invocation 上执行 'ReadableStream'

转载 作者:行者123 更新时间:2023-12-05 07:06:45 29 4
gpt4 key购买 nike

我想了解流的工作原理。我有一个 readableStream,我正在将其通过管道传输到 writableStream。

但是,当我这样做时,我在控制台中收到此错误。 无法在“ReadableStream”上执行“pipeTo”:非法调用

我正在调用以使用 PipeTo 获取 ReadableStream 并将其传递给 WritableStream

下面是我的代码的相关部分。

let writeStream = fs.createWriteStream(`exports/${exportParams.key}`, {flags:'a'});
writeStream.on('end', function(){
console.log('file downloaded');
});


const fetchData = await exportPopup.evaluate(async (fetchUrl, writeStream) => {
const stream = await fetch(fetchUrl);
stream.body.pipeTo(writeStream);
}, fetchUrl, writeStream);

解决此问题的任何帮助都非常好,谢谢。

最佳答案

您是在使用 node-fetch 还是在使用 electron?我在尝试从电子下载文件时遇到了同样的问题。看起来来自浏览器的流与 fs 使用的流不兼容。我最终做的是。

async function downloadFile(filename, url) {
const file = fs.createWriteStream(filename);
res = await fetch(url);
buffer = await res.arrayBuffer()
file.write(Buffer.from(buffer));
file.close();
}

我不知道这是否是最有效的方法,但它确实有效。

关于javascript - 无法在 'pipeTo' : Illegal invocation 上执行 'ReadableStream',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62389862/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com