使用Node在Azure函数中发送zip文件作为响应的最佳方法?

时间:2019-06-03 15:38:16

标签: javascript node.js zip azure-functions

使用Azure功能应用程序,我希望能够将图像从不同的url下载到特定的文件夹,将其压缩并在响应中发送回zip文件。

我可以通过以下步骤来实现:

  1. 请求文件
  2. 在本地保存文件
  3. 使用压缩目录
  4. 存档器读取压缩文件,将其转换为base64
  5. 在响应正文中发送缓冲区

下载并保存图像

static let

压缩目录,读取压缩文件并发送响应

const img = await request(url, { encoding: "binary" });
fs.writeFile(filesName, data, "binary", err => {
    if (err) {
        reject(`Error while writing the file; ${err}`);
    } else {
        resolve(data);
    }
});

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

  1. 使用http触发器创建一个函数,其中输入将是图像的uri,并是blob容器的输出绑定。逻辑是将图像保存在Blob存储中。

  2. 创建另一个由Blob触发的函数,该函数将抓取文件,将其压缩,然后可以具有输出Blob绑定。它将压缩文件并将其放置在您的输出Blob绑定中。

  3. 您的压缩文件将位于输出Blob容器中。

或者,您可以通过持久功能来协调整个过程。