0

これが私の状況です:

  • テーブルには画像を表示するためのボタンが必要です。特定のパスではなく、画像ファイル(filename.jpg)の名前のみを含むデータベースにデータを挿入しています。サーバーは、実際のサーバーのコンテキストに基づいて表示します。いいえ。長い検索の後、getServletContext().getRealPath("/images")ローカルホストや実際のホストなど、ペーストが配置されているコンテキストを見つける方法を見つけました(少なくともそれは私が理解したものです)。

しかし、私がローカルホストにいるとき、メソッドのこのコンテキストを表示しています

getServletContext().getRealPath("/images"):

C:\Documents and Settings\josue\Meus documentos\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\testeDeFuncoes\images\file.jpg

ローカルホストのテスト専用に作成された一時フォルダーのコンテキストを呼び出していると推測します。ローカルホストでそれを回復するにはうまくいくと思いますが、実際のサーバーではうまくいくと思いますよね?

WAR ファイルをエクスポートするとファイルに保存され、アップロード時にサーバーが選択した場所に関係なく機能するように、動的な方法で Web コンテンツを配置できますか。そうでない場合、ほとんどの場合、ウェブページを作成するために一般的に使用されているものは何ですか?

4

1 に答える 1

1

必要に応じて、データベースに画像を保存することを検討してください。「DB に画像を保存する - 賛成か反対か? 」を参照してください。

私は個人的に、画像をデータベースに保存し、ローカル ファイル システムの一時ディレクトリにキャッシュするのが大好きです。

いずれにせよ、画像を保存するための信頼できる既知の正規の場所が必要です。それらをデータベースに保存しない場合は、非一時ディレクトリを決定するか、構成可能にします。

webapp は war ファイルから提供される可能性があり、servletContext.getRealPath(...)何かを保存するための信頼できる場所を返す可能性は低いです。

于 2012-10-04T12:36:27.110 に答える