使用nodejs从Google云存储下载多个文件失败,但未出现错误

s4n0splo  于 2023-01-16  发布在  Node.js
关注(0)|答案(1)|浏览(110)

我的代码成功地下载了一些文件,但不是全部。执行只是在中间停止,没有任何错误,最后一个文件可能只是部分下载。它总是无法下载一些文件,即使我改变文件的数量或如果我使用不同的文件。文件大小似乎并不重要。
我尝试了很多方法,但似乎无法在它停止时捕获任何异常或错误。我尝试使用try-catch和process.on事件,但无法捕获任何东西。
我敢肯定几个月前我用这种代码下载了数百个文件没有任何问题。
下面是我当前代码的简化版本。

const { Storage } = require('@google-cloud/storage');
const storage = new Storage({ keyFilename: 'D:/myProject/myKeyFile.json' });

var folder = 'D:/myProject/downloadedFiles';
var bucketName = 'bucket_1';

async function downloadFile(fileName) {
  var fullPath = folder + '/' + fileName;
  const options = {
    destination: fullPath,
  };
  await storage.bucket(bucketName).file(fileName).download(options);
  console.log(`gs://${bucketName}/${fileName} downloaded to ${fullPath}.`);
}

async function downloadFiles() {
  var filenames = ['file1', 'file2', 'file3', 'file4', 'file5', 'file6'];

  for(var i = 0; i < filenames.length; i++){
    await downloadFile(filenames[i], i).catch(console.error);
  }
}
downloadFiles().catch(console.error);
dfddblmv

dfddblmv1#

原来下载只在那台特定的计算机上失败,所以我的代码不是问题所在。我猜是网络相关的,也许是因为前段时间更换了一个网络交换机。

相关问题