0

これまで、データベースとの間で画像を保存および取得したことはありません。プロセスだと思ったものを書き留めました。私はこれが正しいかどうか知りたいだけです:

画像を保存:

  1. jsp(Struts 2)から画像ファイルを選択してアップロードすると、.tmpファイルとして保存されます。
  2. .tmpファイルをbyte[]配列に変換します(Javaサーバー側)
  3. byte []配列をblobとしてデータベースに格納します(Javaサーバー側)

画像を取得:

  1. データベースからbyte[]配列を取得します(Javaサーバー側)
  2. byte []配列を画像ファイルに変換します(Javaサーバー側)
  3. 場所にファイルを作成します(Javaサーバー側)
  4. imgタグを使用してファイルを表示します(JSPクライアント側)
  5. 使用終了後にファイルを削除しますか?(Javaサーバー側)

データベースとの間で画像を保存および取得しないことを強くお勧めします。とにかくどうやってやるのか知りたいです。

ありがとう

4

2 に答える 2

0

はい、わかりました。

画像を保存 :

画像を保存するかどうかの決定は、その後の使用に大きく依存します。ファイル システムにファイルを保存するオプションが 1 つあります。保存されたファイルの場所は、データベース テーブルのメタデータに保存する必要があります。

画像を取得:

一時的な場所でファイル データを正しくする必要はありません。データベースからのみ簡単にレンダリングできます。クライアントからリクエストを送信し、空間的に設計されたサーブレットでそのリクエストをインターセプトするだけです。このサーブレットは、ファイル メタデータと対応するファイルを読み取り、成功した場合は、ファイルを応答ストリームに書き戻します。

于 2012-06-15T09:24:19.943 に答える
0

ほぼ正しい。

その場でファイルを作成してから削除するのは、費用がかかり、それほど素晴らしいことではありません。

はい、データベースに未加工のバイトとして保存しますが、それを取得してクライアント マシンに表示する方法は、応答のコンテンツ タイプを適切な MIME タイプに設定してからダンプする Web ハンドラを実装することです。バイトを応答ストリームに送信します。

于 2012-06-15T09:11:38.930 に答える