【发布时间】:2014-02-03 15:47:07
【问题描述】:
我的以下问题使用:Java、GWT、jQuery、App Engine (GAE)。
关于“Access-Control-Allow-Origin”标头有很多问题,但似乎没有什么是我想要的。
我正在尝试使用 POST Object 将文件上传到 Google Cloud Storage。如果我只是使用 html-form 来实际进行上传,这很好用。但是,一旦我尝试使用 XMLHttpRequest 发出完全相同的请求,就会收到错误消息“请求的资源上不存在'Access-Control-Allow-Origin'标头”。我遵循了setup CORS for a bucket-指南。我的 CORS xml 文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<CorsConfig>
<Cors>
<Origins>
<Origin>*</Origin>
</Origins>
<Methods>
<Method>GET</Method>
<Method>POST</Method>
<Method>HEAD</Method>
<Method>DELETE</Method>
<Method>OPTIONS</Method>
</Methods>
<ResponseHeaders>
<ResponseHeader>x-goog-meta-foo1</ResponseHeader>
</ResponseHeaders>
<MaxAgeSec>1800</MaxAgeSec>
</Cors>
</CorsConfig>
那么我为什么要使用 XMLHttpRequest?这是因为我希望能够对我的文件上传到谷歌云存储 (GCS) 进行上传。我不确定我是否在某处犯了错误,或者在上传到 GCS 时是否有可能有上传进度。但据我了解,对此不应有任何限制,因为上传进度不是基于与 GCS 的通信(上传速度除外)。
我已经强行清理了我的缓存,但这并没有帮助! :(
有什么建议吗?
谢谢!
【问题讨论】:
标签: google-app-engine gwt xmlhttprequest cors google-cloud-storage