我们已经创建了一个将文件上传到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。有没有人经历过这个?我们上传文件时没有设置内容类型,因为我们在下载文件时设置了内容类型。我们尝试过硬编码,它仍然会产生同样的错误。
答案 0 :(得分:1)
原来是Firefox问题。我们必须修改代理,以便不允许任何内容类型从Azure返回给我们。似乎文件正在上传,但Azure想要响应我们对它的调用,而我们的防火墙阻止了响应。理想情况下,Azure会通过在响应中包含内容类型来解决问题,因此我们不需要对此进行防火墙更改。