0

画像をアップロードするために、JSP で Web アプリケーションを作成しました。

J:/PEC_CW/web/uploads/{user_id}/{filemane} で

ファイル システムからそれらを表示する際に問題が発生しています。

アップロードした画像を表示しようとすると、読み込まれません (ファイル パスは正しいです)。Windows ファイル システムから確認すると、イメージはそこにあります。また、Netbeans プロジェクト エクスプローラーから確認すると、プロジェクトによってイメージが取得されていません。

次に、プロジェクトをクリーンアップしてビルドすると、netbeans がイメージを取得し、結果としてイメージが問題なく表示されます。

私の質問は、

  1. 解決策は何ですか (ファイルがアップロードされるたびにプロジェクトを再デプロイすることはできません)?
  2. プロジェクトがサーバーにデプロイされると、プロジェクトは引き続きリソースのインデックスを保持しますか?
4

1 に答える 1

0

Web アプリケーションをサーバーにデプロイするには、war ファイルまたは展開された war ディレクトリを作成し、この war ファイルまたはディレクトリをデプロイします。war ファイルは、それが生成されたソース ディレクトリとはまったく関係がありません。そして、最終的には、ソース ディレクトリがまったく存在しない運用サーバーにデプロイされます。

ファイルをアップロードする場合は、サーバーのファイル システムの特定のディレクトリにファイルを保存するように Web アプリケーションを構成し、この特定のディレクトリから画像を読み取り、HTTP 応答にストリーミングするサーブレットを作成します。war ファイル/展開された war ディレクトリは、次の 2 つの理由から、読み取り専用と見なす必要があります。

  • 実際に読み取り専用である可能性が高い
  • バグを修正したり、新しい機能を追加したりするために Web アプリケーションを再デプロイするたびに、アップロードしたすべての画像を削除したくありません。
于 2013-04-30T10:21:54.447 に答える