さまざまなサイズの画像の署名付き URL を生成し、クライアントに渡すサーバーがあります。Web クライアントは、JavaScript の良さを利用して、サーバーから提供された署名付き URL に 3 つの異なるサイズの同じ画像をアップロードしようとします。
<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
おり、同じ権限でアップロードできます。
これは、画像を GCS に送信しようとしている非常にスパイクの多い JS コードのスニペットです。
var blobData = dataURItoBlob(canvas.toDataURL('image/png'));
jQuery.ajax({
type: 'PUT',
url: signedURL,
contentType: 'image/png',
processData: false,
data: blobData
})
うまくいけば、誰かが私たちを正しい方向に向けることができます!