C:\ExtraContent\ のように、いくつかの PDF ファイルを含むハードドライブのフォルダーにいくつかのファイルがあります。このフォルダは Web サイトの一部ではありません。デフォルトの ASP.NET FileUploader を使用して、このフォルダーに PDF を正常にアップロードできました。問題ありません。
私がやりたいことは、そのフォルダー C:\ExtraContent\somePDF.pdf 内の PDF にリンクするハイパーリンクを作成することです。
次のコードで Button を使用して近づくことができます。
protected void Button1_Click(object sender, EventArgs e)
{
WebClient client = new WebClient();
Byte[] buffer = client.DownloadData("C:\ExtraContent\somePDF.pdf");
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", buffer.Length.ToString());
Response.BinaryWrite(buffer);
}
上記は、ファイルを開くという点で機能します。しかし、これを ASP.NET HyperLink で動作させることはできません。
ハイパーリンクを使用する理由は、ユーザーが右クリックして [名前を付けて保存] を選択してコピーをダウンロードできるようにするためです。HyperLink コントロールが相対パスにしかリンクできない場合、目的の結果を得るにはどうすればよいですか?
注: アクセスしようとしているファイルをサイトの一部にすることは、私たちにとって現実的ではありません。