【发布时间】:2019-12-07 00:41:15
【问题描述】:
我想从服务器下载一个文件,我们有一个 C# 服务,它根据输入中的请求返回文件的数据块(HTTP 状态 - 206)。在客户端,在 Node.js 应用程序中,我想合并所有块并保存文件。
我可以成功下载一个文本文件,它与服务器上的文件匹配。但是,当我尝试下载 PDF 文件时。生成的文件几乎是原始文件大小的两倍,并且已损坏 - 我下载单个块 - 使用可写流将它们组合起来。
我尝试创建可写流,将编码指定为 utf8(导致文件更大)、二进制和 ASCII(导致文件更小)。
我无法创建可读流并将其通过管道传输到可写流,因为源数据(块)已经以 API 响应的形式存在,并且可读流只接受文件路径作为输入。对吗?
下面的post我都经历过,但是用处不大。
private async WriteToStreamAsyc(wStream: Writable, chunk: any) {
!await wStream.write(chunk);
}
我知道这是一个非常微不足道的案例,人们可能正在广泛地执行此任务,但是,我没有运气和选择,任何建议都可能非常有帮助。
【问题讨论】:
标签: node.js typescript stream