Отсутствует загрузка файла при сохранении файла по буферу в Google Cloud Storage - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь загрузить файл из сообщения в Google Cloud Storage с помощью пакета @ google-cloud / storage.Я отключаю автоматическую обработку, поэтому я читаю файл как буфер.Это вызывает многократное чтение файла.Как я вижу, размер буфера 64 КБ.Когда я сохраняю файл в Google Cloud Storage, размер файла составляет ~ 64 КБ.Поэтому изображения в облаке отсутствуют :)

const {Storage} = require('@google-cloud/storage'); 
  const storage = new Storage({
  projectId: myprojectId,
  keyFilename: myPath
});
  const bucket = storage.bucket(projectName);
  const gcsName = `tickets/${fileName}`;
  const file2 = bucket.file(gcsName);
const stream =await  file2.createWriteStream({
    metadata: {
      contentType: file.stream.headers['content-type']
    },
    resumable: true
  });

  stream.on('error', (err) => {
    console.log(err);
  });

  stream.on('finish', () => {
  });
//stream.end(Buffer)
  stream.end(file.stream._readableState.buffer.tail.data);

Код сохраняет буфер только один раз.Размер моей фотографии составляет 64-128 КБ, поэтому ее следует сохранять несколько раз.

Как я могу решить эту проблему?

Я использую nodejs с веб-фреймворком Adonisjs.

...