We have a server that generates signed URLs for images at various sizes and hands them off to the client. The web client does javascript goodness tries to upload three different sizes of the same images to the signed URLs provided by the server.
<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>
We have confirmed that the server code can upload images successfully and we can upload via gsutil
with the same permissions.
Here is a snippet of our very spikey JS code that is trying to send the image to GCS.
var blobData = dataURItoBlob(canvas.toDataURL('image/png'));
jQuery.ajax({
type: 'PUT',
url: signedURL,
contentType: 'image/png',
processData: false,
data: blobData
})
Hopefully someone can point us in the right direction!