OVH 对象存储,当我尝试上传大文件(超过 100 Ko)时没有任何反应

OVH Object Storage, nothing happens when I try to upload large file (more than 100 Ko)

我尝试使用 OVH 对象存储上传文件。 但是我根据重文件有三种不同的行为。

这是我的代码:

  var client = require('pkgcloud').storage.createClient({
    provider: 'openstack',
    username: myusername,
    password: mypassword,
    region: 'GRA',
    authUrl: 'https://auth.cloud.ovh.net/'
  });

  const fsReadStream = fs.createReadStream(path.resolve(__dirname, fileLocation))

  let writeStream = client.upload({
    container: myOvhStorageContainer,
    remote: 'fileName.jpg',
  });

  writeStream.on('error', function (err) {

    console.log(err)
  });

  writeStream.on('success', async function (file) {
    console.log(file)
  });

  fsReadStream.on('open', function () {
    console.log('open!!')

    fsReadStream.pipe(writeStream);
  });

问题来自 pkgcloud 中的错误,该错误涉及如何为 OpenStack 存储流式传输文件。

解决方案公开,并提出修复,在https://github.com/pkgcloud/pkgcloud/pull/673

pkgcloud 的分支包含建议的修复程序,可以在等待修复程序被正式接受时使用它们:

要在您的 project/application 中使用这样的存储库,请编辑您的 package.json 以像这样修改 dependencies

"dependencies": {
    …
    "pkgcloud": "https://github.com/madarche/pkgcloud.git#fe2701eb6eb984e3d067d5df7610ca0751528dbd",
    …
  },

您也可以简单地创建自己的 pkgclould 分支,这样您就不必信任随机的 Git 存储库。