我们有一个服务器,可以为各种尺寸的图像生成签名 URL,并将它们交给客户端。Web 客户端的 javascript goodness 尝试将三种不同大小的相同图像上传到服务器提供的签名 URL。
<Error>
<Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>Anonymous users does not have storage.objects.create access to bucket your-bucket-name.</Details>
</Error>
我们已经确认服务器代码可以成功上传图片,我们可以通过gsutil
相同的权限上传。
这是我们非常尖刻的 JS 代码片段,它试图将图像发送到 GCS。
var blobData = dataURItoBlob(canvas.toDataURL('image/png'));
jQuery.ajax({
type: 'PUT',
url: signedURL,
contentType: 'image/png',
processData: false,
data: blobData
})
希望有人能指出我们正确的方向!