将 gcloud createReadStream 加载到 nodejs 中的变量中

load a gcloud createReadStream into a variable in nodejs

我正在使用 nodejs API 进行云存储

https://github.com/GoogleCloudPlatform/gcloud-node

我努力寻找一种使用 createReadStream() 将文件作为字符串加载的方法。

有一个关于如何通过管道传输文件并在本地环境中写入的示例,但我更愿意将其加载到变量中。

为了将来参考,我是这样解决的。正在从缓冲区中连续获取数据。

var gcloud = require("gcloud")({ /* credentials. */ });
var cloudstorage = gcloud.storage();
var myTextFile = cloudstorage.file('your-file.txt');

var fileContents = new Buffer('');

myTextFile.createReadStream()
  .on('data', function(chunk) {
    fileContents = Buffer.concat([fileContents, chunk]);
  })
  .on('end', function() {
    // `fileContents` is ready
  });

gCloud 第 3 方库团队慷慨同意添加新方法来简化请求:

https://github.com/GoogleCloudPlatform/gcloud-node/pull/381

更新:

该函数现已在 gcloud 库中可用。