在获取用户个人资料图片时,我使用 microsoft graph 客户端的
getStream()
希望传输图像数据。
记录返回值声称返回的对象是
ReadableStream
,但它不是我认识的任何可读流 - 它似乎没有管道方法,也没有 getReader
,并且在我期望采用网络的任何内容中都不被接受流,如Readable.fromWeb
。 如何将其变成传统的节点可读?
返回什么样的“流”对我来说也是一个谜。不管怎样,我就是这样做的(连接内存中的内容)。如果您需要管道,您也可以这样做,而无需将整个文件读入内存。
const getFileContent = async (path: string) => Promise<Buffer> {
const stream = await graph.api(path).getStream();
const chunks: any[] = [];
for await (const chunk of stream) {
chunks.push(Buffer.from(chunk));
}
return Buffer.concat(chunks);
}