【发布时间】:2021-09-07 22:09:41
【问题描述】:
与我合作的旧版第 3 方要求我们为他们提供使用 ANSI (~ASCII) 字符编码的文本文件。
要保存到文件的内容很大,所以我使用流。如果使用 fs 库,我可以这样做:
const file = fs.createWriteStream(filePath, {encoding: 'ascii'});
data.pipe(file).on('error', handleError).on('finish', handleSuccess);
我正在尝试在 GCS 节点客户端中进行等效操作:
const storage = new Storage();
const gcsFile = storage.bucket(bucket).file(fileName, {});
const fileStream = gcsFile.createWriteStream();
data.pipe(fileStream).on('error', handleError).on('finish', handleSuccess);
但是createWriteStream 方法没有这样的选项来指定字符编码。
有没有办法使用 ASCII 字符编码将数据显式流式传输到 GCS?
【问题讨论】:
-
您是否收到任何错误或任何无法正常工作的特定内容?
-
我的问题是关于使用 ASCII 编码将文件保存到 GCS 的可能性。 GCS 客户端库没有提供像
fs那样指定编码的选项 -
您可能必须使用REST API 来使用流上传,否则如果您仅在没有流的情况下上传,NodeSDK 可以完美运行。
标签: node.js character-encoding google-cloud-storage