很长一段时间以来,我一直在从Node js服务器将文件上传到Google云存储。但是有时上传失败。返回的错误消息类似于:
{
reason:"badRequest",
code: 400,
message: "Invalid upload request"
}
它是随机发生的,意味着在25到30天左右的时间内出现一次,然后自动解决。 这有点奇怪,搜索没有给出任何解决方案或原因。
并行发送两个具有完全相同数据的文件的上传请求。 一个成功上传,另一个失败。
使用的代码:
const file = bucket.file(`data/${id}/${version}/abc.json`);
const dataBuffer = Buffer.from(JSON.stringify(dataToUpload));
file.save(dataBuffer, storageConfig)
.then(() => callback(null, true))
.catch(err => callback(err, null));
其中storageConfig为
{
"contentType": "application/json",
"cacheControl": "public, max-age=600, s-maxage=3, no-transform"
}
,存储的第二个文件名为
const file = bucket.file(`data/${id}/latest/abc.json`);
我找不到任何原因,也无法处理。 我的相关系统崩溃了,因为它们需要第二个文件。
答案 0 :(得分:0)
在上传选项中设置resumable: false
对我来说解决了相同的错误。例如:bucket.upload(pathToUpload, { destination: bucketPath, resumable: false })