当前位置: 首页 > 知识库问答 >
问题:

如何使用spring boot 2.1.1“显示”外部文件夹中的文件

蒯坚白
2023-03-14

我正在学习spring boot vs 2.1.1

我想在模板中显示外部文件夹中的图像。

tomcat 9中有应用程序结构:

|-webApp/ws-app     // where ws-app is the running app
|
|-webData           // where I would like to get the image to display in template

我读了很多5年前的文章,我试图使用它们,但没有成功。像这个:链接

我尝试添加application.properties代码:

spring.resources.static-locations=file:///C:/TMP/webData/images

从模板访问它,如下所示:

http://localhost:8100/ws-app/img.jpg

我得到404错误

我也通过创建这样的类来尝试这种编码:

import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;


@Configuration
@AutoConfigureAfter(DispatcherServletAutoConfiguration.class)
public class CustomWebMvcAutoConfig implements WebMvcConfigurer {

    String myExternalFilePath = "file:///C:/TMP/webData/images";

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/images/**").addResourceLocations(myExternalFilePath);
    }
}

同样的错误404

有人可以帮助我理解我做错了什么,或者如果我想做的事情过时了,给我正确的方法?

非常感谢

共有1个答案

谷光誉
2023-03-14

外部文件路径应以

无需在(DispatcherServletAutoConfiguration.class)之后添加自动配置

使用<代码>http://localhost:8100/ws-应用程序/图像/图像。jpg如果图像存储为C:/TMP/webData/images/img,则访问图像。jpg

@Configuration
public class CustomWebMvcAutoConfig implements WebMvcConfigurer {

    String myExternalFilePath = "file:C:/TMP/webData/images/"; // end your path with a /

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/images/**").addResourceLocations(myExternalFilePath);
    }
}
 类似资料:
  • 问题内容: 我有以下两个javascript函数: 1 2 我想将它们放在外部“ .js”文件中 1 2 调用这些函数的正确语法是什么? 问题答案: 像这样的代码 希望对您有帮助。…谢谢

  • 我正在使用SpringBoot和thymeleaf从html模板生成文档。 随着模板的不断变化,我希望ti从外部加载模板,只是从外部添加或删除模板,而不是重新部署应用程序。 作为POC,使用/resources文件夹时效果良好。 这就是错误: 解析模板“凭证”时出错,该模板可能不存在,或者任何已配置的模板解析程序都无法访问该模板 这就是背景: applycation.yml 这是我的方法:其中te

  • 使用Android Studio是这项任务的必备条件。 谢了。

  • 如何使用URI从资源文件夹的子文件夹中读取文件 资源文件夹中有一些json文件,如: 现在我想在我的课堂上读这个 这是我正在尝试的。 我的东西工作正常,但我遇到的问题是我不想使用< code>toURI,因为它会失败。

  • 问题内容: 如何使用Tomcat从Web应用程序外部的公共文件夹中提供图像文件?我不想在其他端口上使用第二个Apache文件服务器,因为图像文件是同一应用程序的一部分。而且我不想在webapps内部创建指向公共文件夹的符号链接,因为我的应用程序被部署为war文件....是否有一个更简单的解决方案,类似于将默认servlet用于webapps内部的静态内容,用于webapps外部的静态内容 问题答案

  • 我试图通过应用程序在外部存储目录中创建文件夹和文件。 这总是成功的,isCreated为true,没有任何异常或警告,并且创建了文件夹。 Environment.getExternalStorageDirectory()也返回"/存储/仿真/0"。 但当我尝试在外部存储卡(可移动存储卡)中创建文件夹时,如下所示: 始终f.mkdir()返回false,并且未创建文件夹。同时我可以看到W/Syste