私はこのコードを持っています..
<li><a href="downloads/PDF_File.pdf">PDF</a></li>
しかし、それはpdfファイルを開きます.ASP.NETを初めて使用するようになりました.ダウンロードダイアログボックスを開くにはどうすればよいですか?
この質問を確認してください:
ASP.Net の URL からストリーム ファイルをダウンロードする
これらの記事と同様に:
基本的に、ここで起こっているのは、pdf ファイルの通常の動作です。IIS はデフォルトで、Web アプリケーション内のすべての pdf ファイルに対して "pdf" MIME タイプを提供します。アプリケーションで pdf にアクセスすると、ブラウザーは MIME タイプを読み取り、pdf ファイルにアクセスしていることを認識します。ほとんどのブラウザーは、保存するように求めるのではなく、組み込みの PDF リーダーに表示したいと考えます。PDF のダウンロード ダイアログ ボックスを表示する必要がある場合は、web.config で PDF の MIME タイプを変更して、IIS がアプリケーション内の基本的なファイル タイプとして PDF を提供するようにします。
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".pdf" />
<mimeMap fileExtension=".pdf" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
注: web.config で手動で設定している MIME タイプを最初に削除する必要があります。これは、同じ拡張子の MIME タイプがアプリケーション レベルで既に設定されている可能性があるためです。
これで、IIS は PDF ファイルを基本/不明なファイル タイプとして提供し、ダウンロード可能になります。「.pdf」を別の拡張子に交換するだけであれば、これはどのファイルタイプでも機能します。
既存のファイルでこれを行う方法はわかりませんが、少し前に、iTextSharp と ASP.net (フレームワーク 4) の MemoryStream オブジェクトを組み合わせて作成し、pdf ファイルをダウンロードするコードを書きました。
MemoryStream msPDF = new MemoryStream();
// do some stuff with iTextSharp ...
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=myPdf.pdf"); // open/save dialog
Response.BinaryWrite(msPDF.ToArray());