【问题标题】:Argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. recevied - RepeatableContentDownloadResponse'参数必须是字符串类型或 Buffer、ArrayBuffer 或 Array 的实例或类似 Array 的对象。收到-RepeatableContentDownloadResponse'
【发布时间】:2021-12-07 08:49:44
【问题描述】:

试图保存从 api 接收到的数据,它的类型是 application/octet-stream。

但在尝试将其保存/转换为其他形式时出现错误:'第一个参数必须是字符串类型或 Buffer、ArrayBuffer 或 Array 或类似数组的对象的实例。收到一个RepeatableContentDownloadResponse'的实例

输出中没有其他方法可以直接将其转换为缓冲区/字节[]。

在 Node/typescript/javascript 中有什么方法可以解决这个问题

【问题讨论】:

  • 您能否编辑问题并提供更多详细信息以及您尝试了什么(代码)?
  • @Rajdeep 您是否尝试在转换时将缓冲区的第一个参数中的对象字符串化?

标签: node.js typescript byte azure-blob-storage buffer


【解决方案1】:

这件事奏效了。

if (downloadResponse && downloadResponse.readableStreamBody) {
  var writeStream = fs.createWriteStream(fileName);
  writeStream.on("finish", () => {
    Logger.logMessage(
      MessageType.INFORMATION,
      "Stream writing to file successful"
    );
  });
  writeStream.on("error", () => {
    Logger.logMessage(MessageType.ERROR, "Stream writing to file failed");
  });

  downloadResponse.readableStreamBody.pipe(writeStream);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2020-11-02
    • 2022-01-21
    • 2022-11-10
    • 2020-03-29
    • 2020-12-09
    相关资源
    最近更新 更多