ユーザーがファイルをダウンロードするためのリンクを提供するグリッドがあります。ファイルはアプリケーションの外部に保存され、パス参照はデータベースから読み取られ、要求された各ファイルを処理するために HTTP ハンドラー (*.ashx) が使用されます。ただし、存在しないファイルを指すデータベース エントリが存在する可能性があります。私はFileNotFoundException
.
最初のアイデアは、応答に標準の 404 コードを設定することです。それが私が今行っていることです。
ファイルの欠落に関する通知 (jQuery) を表示するのがより便利な方法ですが、ファイルのダウンロードは AJAX で行われないため、これには 2 段階のプロセスが必要です。クライアント側の onclick ハンドラーが Web サービス メソッドを呼び出して、ファイルが存在し、存在しない場合は、クリックをキャンセルし (false を返す)、わかりやすいメッセージをユーザーに表示します。ただし、ファイルが存在する場合は、通常の実行に進みます。しかし、これによりさらに別のサーバー呼び出しが追加されます。
同様の問題に対処しましたか?どのように解決しましたか?
明確化 - アプリケーションは ASP.NET 2.0 で構築され、jQuery を使用して Web サービス メソッドを呼び出します。