尝试通过javascript上载到已签名url时出现权限问题

尝试通过javascript上载到已签名url时出现权限问题,javascript,google-cloud-storage,pre-signed-url,Javascript,Google Cloud Storage,Pre Signed Url,我们有一个服务器,可以为不同大小的图像生成签名URL,并将其交给客户端。web客户端不会尝试将三种不同大小的相同图像上载到服务器提供的签名URL <Error> <Code>AccessDenied</Code> <Message>Access denied.</Message> <Details>Anonymous users does not have storage.objects.create acces

我们有一个服务器,可以为不同大小的图像生成签名URL,并将其交给客户端。web客户端不会尝试将三种不同大小的相同图像上载到服务器提供的签名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
  })

希望有人能给我们指出正确的方向

响应是401还是403?如果是401,查询参数可能由于某种原因而不存在。这通常是因为您的程序可能会意外地双重转义URL或以其他方式剥离查询参数。检查
signedURL

的值,以便在浏览器开发人员工具控制台中找到可能有助于解决问题的有用信息!绝对是这样。我在URL的第一部分看到了一些东西,这让我觉得它不是双重转义,而是双重转义的符号。谢谢你,只需要看得更近一点!