1

许多图像将由用户上传。

  1. 这样的文件夹应该放在哪里。
  2. 我将如何访问我的 Web 应用程序中的图像。
  3. 该文件夹应该在 webcontent/resources 中吗?

环顾四周后更新:

  1. 决定在 webapp Java EE 之外创建一个上传文件夹 - 获取上传文件的真实路径的最佳方式?
  2. 上传时

    File 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 设置为应用程序属性并在控制器中使用它。

这有两个方面的帮助

  • 在服务器重新启动时,您上传的图像不会被删除。
  • 用户上传的图像文件夹会随着时间的推移变得非常繁重,最好将它们排除在部署的代码之外。
于 2012-07-26T08:57:36.990 回答
0

如果图像是小尺寸的,如徽标、页眉图像和其他用户相关的东西,那么它们可以存储在数据库中,并且可以缓存图像。每当图像相关表发生变化时,编写一些脚本来自动刷新缓存。我在许多应用程序中都看到过这种情况。

于 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 回答