1

我們創建了一個將文件上傳到Azure blob的新過程。在本地運行應用程序時,文件可以正常上傳並且沒有錯誤。當我們在我們的服務器上運行相同的過程中,我們得到的錯誤信息:Azure Blob存儲上傳錯誤:(403)禁止

MESSAGE: Forbidden: header 'Content-Type' value denied SOURCE: Microsoft.WindowsAzure.StorageClient TARGETSITE: T get_Result() STACKTRACE: at Microsoft.WindowsAzure.StorageClient.Tasks.Task 1.get_Result() at Microsoft.WindowsAzure.StorageClient.Tasks.Task 1.ExecuteAndWait() at Microsoft.WindowsAzure.StorageClient.TaskImplHelper.ExecuteImpl(Func`1 impl) at Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(Stream source, BlobRequestOptions options) at Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(Stream source)

Inner Exception:

MESSAGE: The remote server returned an error: (403) Forbidden.

SOURCE: System

TARGETSITE: System.Net.WebResponse EndGetResponse(System.IAsyncResult)

STACKTRACE: at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

at Microsoft.WindowsAzure.StorageClient.EventHelper.ProcessWebResponse(WebRequest req, IAsyncResult asyncResult, EventHandler`1 handler, Object sender)

奇怪的是,文件上傳還是到Azure上。有沒有人經歷過這個?當我們上傳文件時,我們不會設置內容類型,因爲我們在下載文件時對其進行了設置。我們嘗試了一個硬編碼,並且仍然產生了相同的錯誤。

+0

想到2個想法檢查: 1)您使用共享訪問簽名?我已經看到在上傳完成之前SAS超時的情況。 2)您是否抓住了雲vs dev存儲的正確密鑰? –

回答

1

原來是Firefox的問題。我們必須修改代理,以便不允許任何內容類型從Azure返回給我們。似乎這些文件正在上傳,但Azure希望響應我們對它的呼籲,而且我們的防火牆阻止了響應。理想情況下,Azure會通過在響應中包含內容類型來解決此問題,因此我們不需要進行像這樣的防火牆更改。