ファイルをアップロードし、ファイルのプロパティ (名前、サイズなど) に関する JSON 応答を返そうとしています。IE を除くすべてのブラウザーで正常に動作します。
IE は JSON をファイルとしてダウンロードしようとします。
私は IE10 を使用しており、デバッガーからブラウザー モードとドキュメント モードを変更して IE7 から 10 でテストしています。
私はasp.net mvc4を使用しています。ファイルアップロードアクションにはHttpPost属性があり、jsonレスポンスを返しています。Json(myObject) を返します。
そしてこれが私のHTTPヘッダーです
リクエスト
Key Value
Request POST /File/UploadFile/ HTTP/1.1
Accept text/html, application/xhtml+xml, */*
Referer http://localhost:63903/
Accept-Language en-NZ
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Content-Type multipart/form-data; boundary=---------------------------7dc1e71330526
Accept-Encoding gzip, deflate
Host localhost:63903
Content-Length 1377002
DNT 1
Connection Keep-Alive
Cache-Control no-cache
応答
Key Value
Response HTTP/1.1 200 OK
Server ASP.NET Development Server/11.0.0.0
Date Tue, 18 Dec 2012 23:44:19 GMT
X-AspNet-Version 4.0.30319
X-AspNetMvc-Version 4.0
Cache-Control private
Content-Type application/json; charset=utf-8
Content-Length 154
Connection Close
いくつかの提案を試してみましたが、これまでのところ振り出しに戻ってしまいました。
ベストアンサー1
IE はコンテンツtext/html
をどう処理すればよいかわからないため、JSON を返す必要があります。application/json
return Json(myObject, "text/html");
よく分かりませんが、うまくいくかもしれません(そして、それが正しいとすれば)を使用するtext/x-json
return Json(myObject, "text/x-json");