java - 如何在 Spring MVC Web 应用程序中从 Tomcat 自定义目录读取文件

标签 java spring jsp spring-mvc tomcat

我有 Spring MVC 应用程序,在我的 JSP 中我有将文件上传到本地 Tomcat 服务器目录“C:/apache-tomcat-7.0.56/photos”的表单。

这是我的 Tomcat 文件结构:

C:\
  apache-tomcat-7.0.56\
    bin\
    conf\
    lib\
    logs\
    photos\  <-- I WANT TO READ FILES FROM THAT FOLDER
       photo1.jpg
       photo2.jpg
    temp\
    webapps\
       myapp\  <-- MY SPRING APPLICATION
         resources\
         WEB-INF\

怎么做?我无法通过 url 'localhost:8080/photos' 访问它们。该文件的 url 路径是什么?我知道我可以像这样使用本地驱动器的绝对路径来做到这一点:

<img src='C:\apache-tomcat-7.0.56\photos\photo1.jpg' />

但我想通过服务器 url 读取它。

编辑: 我无法将文件上传到我可以轻松读取文件的 webapp/resources 目录中,但是当我重新部署应用程序时,文件会被删除。

最佳答案

为了让 Tomcat 在浏览器中提供您的图像,它需要知道可以提供此目录中的文件。您需要更新 Web 服务器配置。有很多方法可以解决它。其中一些是:

  1. 在 webapps 目录下创建 photos 目录
  2. 在服务器的某处创建目录并将配置文件添加到/conf/Catalina/localhost 目录
  3. 创建一个可以读取文件并在浏览器中显示的 Controller

另见:New uploaded files and Tomcat?

关于java - 如何在 Spring MVC Web 应用程序中从 Tomcat 自定义目录读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27865117/

相关文章:

java - Spring 批处理 : Ignore any line that does not match the specified pattern

java - 将 HTML 表格导出到 Excel - 使用 jQuery 或 Java

java - 子页面的不同 CSS 文件

java - 随机数范围为 1-8,所需输出为 1,1,2,2,4,4,3,3,5,5,6,6,7,7,8,8?

java - 从包含 utf 代码的字符串创建一个 char

java - 如何将 spring bean 注入(inject) jsp 2.0 SimpleTag?

java - 在 Spring Boot 中读取 MacOs 环境变量

java - 如何在maven、Spring-boot中解决 "Conflicting lifecycle mapping"

java - jsp和jsi有什么区别?

java - 如果检测到分隔符,则在行尾添加空格?