Azure Blob存储上传错误:(403)禁止

时间:2013-01-31 16:11:53

标签: asp.net azure azure-storage-blobs http-status-code-403 blobstorage

我们已经创建了一个将文件上传到Azure blob的新流程。在本地运行应用程序时,文件上传正常且没有错误。当我们在服务器上运行相同的进程时,会收到错误消息:

  

MESSAGE:Forbidden:标题'Content-Type'值被拒绝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(流   来源,BlobRequestOptions选项)at   Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(流   源)

     

内部例外:

     

MESSAGE:远程服务器返回错误:(403)Forbidden。

     

消息来源:系统

     

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

     

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

     

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

奇怪的是文件仍然上传到Azure。有没有人经历过这个?我们上传文件时没有设置内容类型,因为我们在下载文件时设置了内容类型。我们尝试过硬编码,它仍然会产生同样的错误。

1 个答案:

答案 0 :(得分:1)

原来是Firefox问题。我们必须修改代理,以便不允许任何内容类型从Azure返回给我们。似乎文件正在上传,但Azure想要响应我们对它的调用,而我们的防火墙阻止了响应。理想情况下,Azure会通过在响应中包含内容类型来解决问题,因此我们不需要对此进行防火墙更改。