1

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

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.Task1.ExecuteAndWait() at Microsoft.WindowsAzure.StorageClient.TaskImplHelper .ExecuteImpl(Func`1 impl) 在 Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(Stream source, BlobRequestOptions options) at Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(Stream source)

内部异常:

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

来源:系统

目标:System.Net.WebResponse EndGetResponse(System.IAsyncResult)

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

在 Microsoft.WindowsAzure.StorageClient.EventHelper.ProcessWebResponse(WebRequest 请求,IAsyncResult asyncResult,EventHandler`1 处理程序,对象发送者)

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

4

1 回答 1

1

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

于 2013-02-05T15:22:05.320 回答