私たちのプロジェクトの 1 つで、サーバーからクライアントの場所にファイルをダウンロードする機能が必要です。
このために、ashx ハンドラーを使用して操作を行います。完全に機能しており、ファイルをダウンロードできます。
ここで、ダウンロードの開始時と完了時にフィールドを更新する必要があるなどの要件が必要です。これを行う方法はありますか。
ダウンロード リンクをクリックすると、[名前を付けて保存] ダイアログ ボックスが表示され、その後、進行状況を確認するためのコントロールがないと思います。どのボタンがクリックされたかさえわからないと思います。つまり、ユーザーがクリックしたのが「はい」か「いいえ」かはわかりません。
ダウンロードがいつ開始され、いつ完了したかを知る方法を誰か提案できますか? c# で Asp.Net 2.0 を使用しています。
ダウンロードに使用されるハンドラーを以下に示します
string fileUrl = string.Empty;
if (context.Request["fileUrl"] != null)
{
fileUrl = context.Request["fileUrl"].ToString();
}
string filename = System.IO.Path.GetFileName(fileUrl);
context.Response.ClearContent();
context.Response.ContentType = "application/exe";
context.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", filename));
context.Response.TransmitFile(fileUrl);
context.Response.Flush();
ファイルは、次のようなaspxページメソッドからダウンロードされます
private void DownloadExe()
{
string downloadUrl = "Test.exe");
Response.Redirect("Test.ashx?fileUrl=" + downloadUrl, false);
}