私はデータベースにドキュメントを格納しており、ドキュメントをダウンロードするためのAPIを持っています。Asp.Net MVC 4 API:IE8で失敗したdocxのダウンロード
docxファイルとのxlsxのダウンロードが私が取得エラーメッセージは次のようであるIE9、ChromeとFFで正常に動作しますが、失敗した本当のIE8で(IE 9 IE8モードでも動作します)
:
。idler2から393をダウンロードできません。
このインターネットサイトを開くことができません。要求されたサイトは のいずれかを使用できないか、または見つからないことがあります。後でもう一度お試しください。以下のレスポンスヘッダで
: HTTP/1.1 200 OK のCache-Control:キャッシュなし プラグマ:キャッシュなし
Content-Length: 10255
Content-Type: application/octet-stream
Expires: -1
Server: Microsoft-IIS/7.5
Content-Disposition: attachment; filename=document.docx
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Sat, 23 Mar 2013 11:30:41 GMT
これは私のAPIメソッドである:
public HttpResponseMessage GetDocumentContent(int id)
{
Document document = Repository.StorageFor<Client>().GetDocument(id);
HttpResponseMessage response = Request.CreateResponse(System.Net.HttpStatusCode.OK);
response.Content = new ByteArrayContent(document.GetBuffer());
response.Content.Headers.ContentLength = document.GetBuffer().Length;
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
//FileName = document.GetFileName(),
FileName = "document.docx",
DispositionType = "attachment"
};
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return response;
}
私はコンテンツの配置とコンテンツヘッダーにかなりのバリエーションを試しましたが、運がありません。
Spot on!どうもありがとうございます。 – Frans
は完璧に動作します、ありがとう! –
+1:問題を抱えて答えを使って解決しましたが、IE 11、Google Chrome、Firefox 43.0.4で明らかになりましたが、リクエストしていたPDFのサイズに依存していました。約50 KBであることが判明しました...サイズに基づいて異なるキャッシングポリシー!? – dlatikay