2011-09-29 14 views
0

Webアプリケーションはクライアントからサーバーの場所no any DBにファイル(images only)をアップロードし、同じファイル/ファイルをサーバーからクライアントのマシンにも保存します。名前の競合を避ける方法アップロードされたファイル

プロセス1.サーバーpredifined場所にファイルの保存ファイル<input type="file /">
2.をアップロードします。java
3.はボタン

問題保存をクリックすることで、サーバからクライアントのマシンに同じファイルをダウンロードします。 2人のユーザーがいて、同じ名前の異なるファイルを同時にpredifineにアップロードしているとしますd(またはプログラムされた)サーバーのフォルダー。
どのように私はこの種の命名の矛盾を避けるべきですか?&誰がどのクライアント(クライアント)に属しているかをプログラムする方法。

sol'n:クライアントからサーバーにファイルをアップロードするときに、クライアントごとに1つのフォルダを作成し、新しく作成した特定のフォルダにファイルを保存します。

アプリケーションにデータベースが存在しないことにご注意ください。任意のより良い

環境を提案してください:

答えて

-1
create one folder for each client/user. 

java servlet Apache-tomcat 6.0 xhtmlは私には明白な解決策のように思えます。セッションIDを使用すると、さらに多くのディレクトリが作成されます。サーバーの保存画像が後で使用される場合(そうでないと仮定した場合、それ以外の場合は画像を保存することができません)。ユーザー名(またはそれに類するもの)に基づいたディレクトリ構造を持つことは、他のものよりナビゲートするのに苦労することはありません。

+0

はいディレクトリ構造はユーザIDに基づいていますが、クライアント(ユーザID)が複数のフォルダを作成する必要がある場合はどうなりますか? –

+0

これは別の質問...日付であり、その場合のセッションIDは実際には – NimChimpsky

+0

です。感謝NimChimpsky! –

0

HttpServletReqeust.getSession()メソッドを使用してクライアントの一意のセッションを取得し、次にHttpSession.getId()を使用して、ディレクトリ/ファイル名の構築で使用できるセッションの識別子を取得します。

関連する問題