小编Imi*_*Kim的帖子

将 ReadStream 从谷歌云存储上的文件传递到 POST FORM

我正在尝试发送一个包含(原始)文件的 POST 表单,这些文件位于谷歌云存储桶中

这段代码在 firebase 云函数中运行 - 而不是将存储文件下载到云函数实例,然后通过表单(有效)上传它,我想直接将表单传递给 Stream

async function test() {
 const rp = require('request-promise');
 const path = require('path');
 const { Storage } = require('@google-cloud/storage');
 const storage = new Storage();
 const bucketName = 'xxx';
 const bucket = storage.bucket(bucketName);
 const fileAPath = path.join('aaa', 'bbb.jpg');

 let formData = {
  fileA: bucket.file(fileAPath).createReadStream(),
 };

 return rp({
  uri: uri,
  method: 'POST',
  formData: formData,
 });
}
Run Code Online (Sandbox Code Playgroud)

如果我们首先下载文件(到云函数实例上的临时文件),然后使用 fs.createReadStream(fileAPath_tmp)

POST 失败(即端点没有以相同的方式接收文件,如果有的话),使用上面的代码(没有临时下载)使用 bucket.file(fileAPath).createReadStream()

node.js google-cloud-storage firebase

5
推荐指数
1
解决办法
612
查看次数

标签 统计

firebase ×1

google-cloud-storage ×1

node.js ×1