1

多くの画像がユーザーによってアップロードされます。

  1. そのようなフォルダはどこに保管する必要がありますか。
  2. Web アプリケーションで画像にアクセスする方法を教えてください。
  3. フォルダーは webcontent/resources にあるべきですか?

見回した後の更新:

  1. webapp Java EEの外部にアップロードフォルダーを作成することにしました - アップロードされたファイルへの実際のパスを取得する最良の方法は?
  2. アップロード中

    ファイル file = new File("外部フォルダへのパス"+ファイル名);

  3. アップロードされた画像にアクセスするには: servlet-context.xml で外部フォルダーへのマッピングを作成しました

    < mvc:resources mapping="/images/**" location="file:///D:/rahul/eclipse_java/images/"/>

localhost/application/images が D:/folder/images にマップされるようになりました

SpEL と構成プロパティを使用して、プロパティ ファイルへのパスを分離してみてください。

4

3 に答える 3

2

Tomcat を使用している場合は、追加します。

<Context docBase="C:/temp" path="/yourapp/resources/images" /> 

中身

<Engine defaultHost="localhost" name="Catalina">

server.xml のタグ

その後、JSP 内のどこからでもイメージにアクセスできます。例えば

 <img class="fs-sp1-image" src="<c:url value="/resources/images/item_1.png/>">

新しい画像のアップロードなど、このフォルダー内で何らかの処理を行いたい場合は、パス C:/temp をアプリケーション プロパティとして設定し、コントローラー内で使用します。

これは 2 つの点で役立ちます

  • サーバーを再起動しても、アップロードした画像は消去されません。
  • ユーザーがアップロードした画像フォルダーは、時間の経過とともに非常に重くなる傾向があるため、デプロイされたコードから遠ざけることをお勧めします。
于 2012-07-26T08:57:36.990 に答える
0

画像がロゴ、ページ ヘッダー画像、その他のユーザー関連のもののようにサイズが小さい場合は、DB に保存して画像をキャッシュすることができます。画像関連のテーブルに変更があった場合は常に、キャッシュを自動的に更新するスクリプトを記述します。このシナリオは多くのアプリで見てきました。

于 2012-07-26T06:15:54.370 に答える
-1

DBを使用して画像をバイト単位で保存します。

<form id="uploadImageForm" name="uploadImageForm" method="post" enctype="multipart/form-data" action="uploadImage.html">
    <input id="uploadImage" name="uploadImage" type="file">
</form>

画像をバイト単位で保存するコードをコントローラーに記述します。

于 2012-07-26T06:43:12.847 に答える