Как записать файл в Google Cloud Storage напрямую, не сохраняя его в моем приложении? - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь записать HTML-файл в Google Cloud Storage, не сохраняя его в моем приложении-узле. Мне нужно создать файл и сразу же загрузить в облачное хранилище. Я попытался использовать метод fs.writeFileSync(), но он создает файл в моем приложении, и я не хочу этого.

const res = fs.writeFileSync("submission.html", fileData, "utf8");
GCS.upload(res, filePath);

Я ожидаю сохранить файл HTML в облачном хранилище напрямую. Не могли бы вы порекомендовать мне правильный подход?

1 Ответ

3 голосов
/ 19 июня 2019

Решение, которое я считаю, состоит в том, чтобы использовать file.save метод, заключающий в себе createWriteStream, так что это должно работать.

const storage = require('@google-cloud/storage')();
const myBucket = storage.bucket('my-bucket');

const file = myBucket.file('my-file');
const contents = 'This is the contents of the file.';

file.save(contents, function(err) {
  if (!err) {
    // File written successfully.
  }
});

//-
// If the callback is omitted, we'll return a Promise.
//-
file.save(contents).then(function() {});
...