2011-09-13 13 views
0

Path.GetTempFileNameは、私が望むものにかなり近いです。しかし、私はマシンを再起動し、これらのファイルを失うことはしたくありません(一時的なものとして)。私が必要とするのは、一意のファイル名です。それを行うための最良の方法は何ですか?私は、データベースにキーを挿入すると思っていたが、それを引っ張るコミットが、私はその良いアイデアとは思わない。asp.netで処理するファイルを保存するには

私は乱数を使うことを考えていましたが、私はいつもサーバ上で乱数を使うことを心配しています。 2つの要求が同時に発生する可能性があるため、同じ番号を取得しています(ロックしないと仮定すると遅くなります)。じゃあどうすればいい?

ユーザーの投稿要求からファイルを取得してファイルに保存できるように、ファイル名を使用する予定です。それから私はすぐに処理されるキューに入れます。何かが間違っていたら、今から2分後、または数時間後に処理されます。

答えて

1

ストアのファイル名は、GUIDを使用していますか?

多くのファイルが必要な場合は、私は、ディレクトリ構造にするために、guidのダッシュを置き換えます。

d524532e-8337-422f-925c-14500972c843.jpg 

\d524532e\8337\422f\925c\14500972c843.jpg 
なり
1

どのようGuidについて:

またはいくつかのタイムスタンプか何か:

var appData = Server.MapPath("~/"App_Data); 
var filename = Path.Combine(appData, string.Format("{0:dd_MM_yyyy_fffff}.tmp", DateTime.Now)); 
関連する問題