Azure Blob Upload 遇到的錯誤

  • 1032
  • 0
  • 2016-03-05

Azure Blob Upload 遇到的錯誤

問題一

XMLHttpRequest: 網路錯誤 0x80070005, 存取被拒。

出現的是 403 錯誤

第一個 Options 的 Response Header

Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type, accept, x-ms-blob-type
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Origin: http://______.azurewebsites.net
Access-Control-Max-Age: 3600
Date: Wed, 27 Jan 2016 14:41:24 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Transfer-Encoding: chunked
x-ms-request-id: 68f5277d-0001-0016-6c10-59558a000000
x-ms-version: 2012-02-12

但是,第二組出問題的 Option 的 Response Header 卻是完全不一樣的東西
Content-Length: 491
Content-Type: application/xml
Date: Wed, 27 Jan 2016 14:41:25 GMT
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: 68f5292b-0001-0016-6d10-59558a000000

 

解法:

通常是因為 Azure Blob 的權限沒有給,通常請確認 Request Header 有沒有在 CROS Rule 清單裡面

 

問題二

XMLHttpRequest: 網路錯誤 ox2ef3, 發生錯誤,無法完成操作 00002ef3。

錯誤的說明
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

錯誤訊息
Signed expiry time [Thu, 28 Jan 2016 06:57:29 GMT] has to be after signed start time [Thu, 28 Jan 2016 06:57:29 GMT

 

解法

請在 CORS Rule 中將 Max Age 的時間增加即可。

 

 

問題三

XMLHttpRequest: 網路錯誤 0x2ee2, 發生錯誤,無法完成操作 00002ee2。

400 / The specified block list is invalid.

 

解法

因為檔案是依每區 Chunk 分批上傳,最後再由系統檢查每一個 ID 是否都有接到,若是有少的話就會出現 400 的錯誤。請重新確認每一次上傳 blockid 都有納入到 XML 清單之中。