【发布时间】:2014-01-23 13:56:06
【问题描述】:
我正在尝试使用 jQuery 和 Google Cloud Storage v1beta2 Json API 将文件分块上传到 Google Cloud Storage。我正在执行API documentation 中所述的以下步骤。
第一步:发布请求以获取 UploadId
POST /upload/storage/v1beta2/b/test-bucket-01/o?uploadType=resumable&name=args-master.zip HTTP/1.1 Host: www.googleapis.com Connection: keep-alive Content-Length: 0 Accept: */* Origin: http://www.trial.com Authorization: Bearer ya29.1.AADtN_UptViwI44N8A3Pg89q3lKS7ZesTqYplm0whTdTJFOj0MHjtp-yM7dB8GzfJk62lIuo
在响应中,我得到包含 UploadId 的位置标头
HTTP/1.1 200 OK Location: https://www.googleapis.com/upload/storage/v1beta2/b/test-bucket-01/o?uploadType=resumable&name=args-master.zip&upload_id=AEnB2UoOYm9JYDAPNPisFKG5yheFdRF8oVaxpRHg62BGGBVr2Ue-sg3fbOmg1Ol-PFSXY60aPcl_hDaJP9176ZF6DPaCDAyDkg Vary: Origin Access-Control-Allow-Origin: http://www.trial.com Access-Control-Expose-Headers: Cache-Control, Content-Length, Content-Type, Date, Expires, Location, Pragma, Server,
第二步: 用 UploadId 和内容提出请求
PUT /upload/storage/v1beta2/b/test-bucket-01/o?uploadType=resumable&name=args-master.zip&upload_id=AEnB2UoOYm9JYDAPNPisFKG5yheFdRF8oVaxpRHg62BGGBVr2Ue-sg3fbOmg1Ol-PFSXY60aPcl_hDaJP9176ZF6DPaCDAyDkg HTTP/1.1 Host: www.googleapis.com Connection: keep-alive Content-Length: 262144 Cache-Control: no-cache Content-Range: bytes 0-262143/1361678 Authorization: Bearer ya29.1.AADtN_UptViwI44N8A3Pg89q3lKS7ZesTqYplm0whTdTJFOj0MHjtp-yM7dB8GzfJk62lIuo Origin: http://www.trial.com
响应 PUT 请求,我收到 503 Service Unavailable 错误。
HTTP/1.1 503 Service Unavailable Access-Control-Allow-Origin: http://www.trial.com Access-Control-Allow-Credentials: true Access-Control-Expose-Headers: Access-Control-Allow-Credentials, Access-Control-Allow-Origin, Access-Control-Expose-Headers, Content-Length, Content-Type, Date, Server, Transfer-Encoding
我也尝试使用 Google Cloud Storage 的 XML API 分块上传,但遇到了同样的错误。 请提出这里出了什么问题。
谢谢
【问题讨论】:
-
我在您的请求中没有看到任何错误。虽然您没有像文档中所说的那样指定 X-Goog-Content-Length/Type,但它仍然可以工作。您可以向 gs-team@google.com 发送跟踪信息吗?
标签: jquery google-cloud-storage