ドキュメントをデータベースに保存していて、ドキュメントをダウンロードするためのAPIを持っています。
docxとxlsxのダウンロードは、IE9、Chrome、FFでは正常に機能しますが、実際のIE8では失敗します(IE8モードのIE 9も機能します)。
私が受け取るエラーメッセージは次のとおりです。
idler2から393をダウンロードできません。
このインターネットサイトを開くことができません。リクエストされたサイトは利用できないか、見つかりません。後でもう一度やり直してください。
次の応答ヘッダーを使用:HTTP / 1.1 200 OK Cache-Control:no-cacheプラグマ:no-cache
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;
}
私はコンテンツの配置とコンテンツヘッダーのかなりの数のバリエーションを試しましたが、運がありませんでした。