PDFファイルをダウンロードするコードを含むマスターページクライアント側スクリプト(Jquery)から.ashxページを要求しています。デバッグすると、「ファイルのダウンロード」の実行が表示されます。コードがダウンロードされていません。
$.ajax({
type: "POST",
url: "FileDownload.ashx",
dataType: "html",
success: function (data) { }
}
);
public class FileDownload : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
string fileName = "BUSProjectCard.pdf";
string filePath = context.Server.MapPath("~/Print/");
context.Response.Clear();
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
context.Response.TransmitFile(filePath + fileName);
context.Response.End();
}
ファイルはダウンロード中ですが、Ajaxで呼び出すため、JavaScript、呼び出しのdata
パラメーターで取得します。
ハンドラーを使用します-したがって、ここではajaxは必要ありません。また、javascriptを使用して行う最も簡単なことは次のとおりです。
window.location = "FileDownload.ashx?parametres=22";
または次のような単純なリンクを使用
<a target="_blank" href="FileDownload.ashx?parametres=22" >download...</a>
ああ、そしてURLを介してパラメータを送信すると、そのように投稿することはできません。
また読むことができます: サーバーからファイルをダウンロードするための最良の方法は何ですか