-4

Web サイトにアップロード ボタンがあり、そのアップロード ボタンは、ユーザーが選択したファイルを (今のところ) ハード ドライブに保存し、名前 (Guid.NewGuid を使用) + フレンドリ名 (実際の名前) をデータベース。

ファイルは Content/Usercontent (Guid.NewGuid 名) に保存されますが、私が望むのは、データベースから行を削除すると、マップ Content/Usercontent 内のファイルも削除されることです。これを行うにはどうすればよいですか? ASP.NET MVC を使用

編集: なぜ私は反対票を投じられたのですか? 少なくとも、私の質問で改善すべき点を教えてください。

4

1 に答える 1

0

たとえば、OnDelete というイベントにフックしている限り、関連ファイルを削除するルーチンとこれを同期できます。

データベースにファイルを追加および削除するための唯一のマネージャーであるクラスを作成します。ファイルをアップロードするときに私がすることは、クラスを呼び出すことdocumentMgr.Save(string fileName, string serverPath, byte[] fileContents)です。

DocumentManager クラスで、デリゲートが次の引数 ( s) を受け取る FileDeleted というイベントをobject sender, FileEventArgs fileArg作成し、呼び出されたそのクラスでイベント ハンドラーを作成しOnFileDeleted(object sender, FileEventArgs fileArgs)、DocumentManager.DeleteDocument(文字列名、文字列は何でも) が呼び出されたときに OnFileDeleted イベントを発生させます。

イベント ハンドラーは、where then (イベントがパブリックの場合) から処理できます。

DocumentManager のコンストラクターでイベントをフックしてから、dea を呼び出してファイルを自動的に削除することができます。イベントを使用することで、後でさらに多くのことを行って機能を拡張することを選択できます。

乗り方教えて

于 2012-12-12T12:56:01.120 に答える