OVH 对象存储,当我尝试上传大文件(超过 100 Ko)时没有任何反应
OVH Object Storage, nothing happens when I try to upload large file (more than 100 Ko)
我尝试使用 OVH 对象存储上传文件。
但是我根据重文件有三种不同的行为。
配个小于100Ko的权重文件,一切正常
有一个超过100Ko的权重文件,我有这个错误:Error: write after end
,但是文件上传到ovh对象存储
对于大于250Ko的权重文件,没有任何反应,文件没有上传。
fs ReadStream 已打开,但通过管道传输的写入流(使用读取流)未完成。
这是我的代码:
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 的分支包含建议的修复程序,可以在等待修复程序被正式接受时使用它们:
- https://github.com/madarche/pkgcloud/
- https://github.com/StartupFlow/pkgcloud/tree/fix_write_after_end
要在您的 project/application 中使用这样的存储库,请编辑您的 package.json
以像这样修改 dependencies
:
"dependencies": {
…
"pkgcloud": "https://github.com/madarche/pkgcloud.git#fe2701eb6eb984e3d067d5df7610ca0751528dbd",
…
},
您也可以简单地创建自己的 pkgclould 分支,这样您就不必信任随机的 Git 存储库。
我尝试使用 OVH 对象存储上传文件。 但是我根据重文件有三种不同的行为。
配个小于100Ko的权重文件,一切正常
有一个超过100Ko的权重文件,我有这个错误:
Error: write after end
,但是文件上传到ovh对象存储对于大于250Ko的权重文件,没有任何反应,文件没有上传。 fs ReadStream 已打开,但通过管道传输的写入流(使用读取流)未完成。
这是我的代码:
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 的分支包含建议的修复程序,可以在等待修复程序被正式接受时使用它们:
- https://github.com/madarche/pkgcloud/
- https://github.com/StartupFlow/pkgcloud/tree/fix_write_after_end
要在您的 project/application 中使用这样的存储库,请编辑您的 package.json
以像这样修改 dependencies
:
"dependencies": {
…
"pkgcloud": "https://github.com/madarche/pkgcloud.git#fe2701eb6eb984e3d067d5df7610ca0751528dbd",
…
},
您也可以简单地创建自己的 pkgclould 分支,这样您就不必信任随机的 Git 存储库。