htmlのformタグから、あるURLにpostを投げ、帳票をダウンロードするということを実装しているのですが、レスポンスが返ってきません。
①ASP.NETのデバッグモードのでの検証⇒問題なし
②開発環境にデプロイ後の検証⇒問題なし
③本番サイトから呼び出した検証⇒レスポンス返らない
③の場合のみ、レスポンスが返ってこないのです。
処理は、
postでいくつか値を渡して、サーバーサイド(C#)でエクセルファイルを作成し、サーバに置きます。
で、最後は下記のような処理です。
サーバーはIISで動かしております。
C#
1~エクセルを作成&置く処理~ 2 3Response.WriteFile(filePath); 4Response.Flush(); 5Response.End(); 6 7return view();
ちなみに私が言うレスポンスが返らないというのは、下記のような表示がされない、ということです。
①と②の場合は同じプログラムですが、表示されます。
また、
<form target="new"></form> <form target="_blank"></form> などにした場合は、問題なく返ってきます。何が問題なのか分かる方ご教授いただけますでしょうか?
HexViewに記載されていたもの
成功時
HTTP/1.1 200 OK
Cache-Control: private,no-cache
Pragma: no-cache
Content-Length: 114176
Content-Type: text/html
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNetMvc-Version: 5.2
Access-Control-Allow-Origin: *
content-disposition: attachment; filename=test1.xls
X-AspNet-Version: 4.0.30319
X-XSS-Protection: 0
X-Powered-By: ASP.NET
Access-Control-Allow-Origin: *
Date: Mon, 14 May 2018 02:06:32 GMT
失敗時
HTTP/1.1 200 OK
Cache-Control: private,no-cache
Pragma: no-cache
Content-Length: 114176
Content-Type: text/html
Expires: -1
Server: Microsoft-IIS/8.5
Set-Cookie: ASP.NET_SessionId=yh4q5uxrmpejlfdunr4u43kb; path=/; HttpOnly
X-AspNetMvc-Version: 5.2
Access-Control-Allow-Origin: *
content-disposition: attachment; filename=test1.xls
X-AspNet-Version: 4.0.30319
X-XSS-Protection: 0
X-Powered-By: ASP.NET
Access-Control-Allow-Origin: *
Date: Mon, 14 May 2018 02:06:11 GMT