ユーザーはpdfをダウンロードできる.netアプリケーションを継承しました。今、ローカルで実行するとpdfファイルをダウンロードできますが、IISサーバーに展開すると問題が発生します。ダウンロードはFirefox上で動作しますが、Chromeで動作しません。また、IEで動作することもあります。私のローカル開発環境でダウンロードできるという事実は、それがIIS構成のものか私のコードの何かである可能性があることを示しています。 pdfは、varbinaryというms sql server 2012テーブルに格納されています。データを読み取るために使用される以下のコードをいくつか提供しました。必要な情報が他にある場合はお知らせください。また、iisログをチェックして、すべてのステータスコードが200になっています。そこに何も目立たない。失敗ネットワークエラーiisを使用してPDFをダウンロード
if(Session["DetailID"] != null)
{
//get the file
DataTable dt = sp_Attachment_Download(lblAttachmentIDD.Text);
DataRow row = dt.Rows[0];
string name = (string)row["AFileName"];
string contentType = (string)row["AFileType"];
Byte[] data = (Byte[])row["AFile"];
/// Send the file to the browser
Response.AddHeader("Content-type", contentType);
Response.AddHeader("Content-Disposition", "attachment; filename=" + name);
Response.BinaryWrite(data);
Response.Flush();
Response.Close();
}
EDITED ---------- 私はIEとChromeのための開発ツールを使用して何か面白いものを見つけています。 Chromeは、私がリンクをクリックしたとき、私に次のエラーを与える:私の注意を引いた
interpreted as Document but transferred with MIME type application/pdf:
IEのdoesntエラーが、何かを与えます。私のREQUESTヘッダー、ACCEPTにはapplication/pdfがなく、RESPONSE Content-Typeにはapplication/pdfがあります。これは何か? aspxページにapplication/pdfを含めるようにACCEPTを設定するにはどうすればよいですか?
私も同様の問題が発生しました。ダウンロードはChromeでメッセージ に失敗しました - ネットワークエラーです。しかし、問題はプロトコルにあり、FirefoxはHTTP/1.1を使用していましたが、ChromeはHTTP/2を使用していたことに気づきました。あなたはこれを観察しましたか? – KiKMak