首页 > 解决方案 > 合并文件并存储在字符串中

问题描述

https://cloud.google.com/nodejs/docs/reference/storage/1.5.x/Bucket#combine

明确指出 combine 的第二个参数可以是

(字符串或文件)

您希望源文件合并到的文件。

但是,当我喜欢下面的代码时:

var logBucket = storage.bucket(projectId);

var sources = [
   logBucket.file(file1),
   logBucket.file(file2)
];

let myString;

logBucket.combine(sources, myString);

console.log(myString);

我希望在 myString 中获得两个组合源,但出现错误:

(节点:39248)UnhandledPromiseRejectionWarning:错误:必须指定目标文件。在 Bucket.combine (/Users/joakimmansson/Repo/icm-coworker-tool/server/node_modules/@google-cloud/storage/build/src/bucket.js:627:19)

标签: google-cloud-platformgoogle-cloud-storage

解决方案


如果我们查看您引用的组合 API 的文档,我们会看到该函数的第二个参数定义为:

destination (string or File) - The file you would like the source files combined into.

指定的目的地始终是一个 Google Cloud Storage (GCS) 对象(一个文件),该对象将填充输入源的组合内容。文档中说的destination可以是 astring或 a File,它指的是目标 GCS 对象的身份。这意味着可以提供一个文件对象或随后将被创建的文件对象的字符串名称。我怀疑您可能会认为这将是一个返回的参数,该参数将是一个包含源文件串联的字符串值。


推荐阅读