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
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 清單之中。