Ошибка панели выполнения api google диска

Я написал следующий код для загрузки файла в свою учетную запись Google Диска. Работает отлично. Затем я попытался добавить трекер загрузки, но столкнулся с некоторыми проблемами. Это работает, но прогресс почти мгновенно достигает 100%, задолго до завершения загрузки.

export async function uploadFile(auth) {
  const fileMetadata = {
    name: FILENAME,
  };
  const fileWrite = fs.createReadStream(path.join(homedir(), 'Pictures', FILENAME));
  const fileSize = fs.statSync(path.join(homedir(), 'Pictures', FILENAME)).size;
  const media = {
    mimeType: FILETYPE,
    body: fileWrite,
  };
  const drive = google.drive({ version: 'v3', auth });
  const res = await drive.files.create({
    fileMetadata,
    media,
    fields: 'id',
  }, {
    onUploadProgress: (evt) => {
      const progress = (evt.bytesRead / fileSize) * 100;
      console.log(progress);
    },
  });
  console.log(res.data);
}

Он загружает нужный мне файл, показывает прогресс и возвращает идентификатор файла. Проблема в том, что загрузка идет неправильно. Я попытался загрузить файл размером 100 МБ, и при подключении к загрузке со скоростью 20 Мбит / с процесс завершился всего за 1,8 секунды. Загрузка файла обещания разрешена через 14 секунд.

Я подозреваю, что это путаница по поводу onUploadProgress. Я не могу найти документации для этого обратного вызова, но думаю, он подходит только для возобновляемых загрузок.

pinoyyid 10.08.2018 23:19

Возможно связанный (onUploadProgress - вещь Axios): stackoverflow.com/questions/44893946/…github.com/axios/axios/pull/423

tehhowch 12.08.2018 21:56

Также см. github.com/axios/axios/issues/639

tehhowch 12.08.2018 22:06

ты нашел какое-нибудь решение?

AHméd Net 28.08.2018 16:22
3
4
370
0

Другие вопросы по теме