2016-04-30 8 views
0

私は、ユーザーがログインしてファイルを格納できるはずのクラウドWebアプリケーション用にEclipseで3つのプロジェクトを持っています。Java EE Webアプリケーション用にMYSQLにファイルの物理ファイルの場所を格納する方法は?

フロントエンド(サーブレット/ HTML/JSP)、

ミドルウェア(EJBの)、

バックエンド(MySQLサーバ)

接続作業ログインフォームが既にありますユーザーを認証するデータベースに送信します。

私の理解から、BLOBはアドバイスされていないので、物理ファイルの場所を格納する必要があります。私は、各ファイルに関する以下の情報格納する必要が :

  • ファイル名を、
  • ファイルタイプ
  • 物理ファイルの場所
  • webcloud-場所

権限が与えられている場合、ユーザーは他のユーザーのディレクトリにアクセスできることが理想的です。

これは、ユーザーの資格情報を保持するログインテーブルを実装するのと同じ方法で実現できますか?

データベースがファイルの場所のみを保存する場合、ユーザーはファイルをどのくらいダウンロードできますか?

答えて

1

保存する場所。

実際には、ファイルの場所ではなく、ファイルの場所だけをデータベースに格納することをお勧めします。通常の方法は、ファイルをクラウドに保存するときに一意のハッシュ名を使用し、一意のハッシュと元のファイル名の両方をデータベースに保存することです。 Webアプリケーションでは

を共有

、ユーザディレクトリは、Linux上のユーザディレクトリと同じではありません。 Webアプリケーションでは、それらは仮想です。必要なのは、ファイルIDとユーザーIDまたはグループIDをリンクする共有テーブルです。これは、単にウェブクラウド上に保存されたファイルへのリンクを与えることの問題です

をダウンロードする方法

。上記のようにハッシュされた名前を使用した場合、ファイル名は他の人には推測できません+クラウドからサーブレットコンテナにファイルを取得し、そのコンテンツをユーザーに渡すための長いコード行を書くことを避けます。