gpt4 book ai didi

java - 在 spring boot 中添加外部静态文件(css、js、png ...)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:09:24 24 4
gpt4 key购买 nike

背景


我有一个 spring boot 应用程序,它已将 logo.png 文件添加到资源文件的 static 文件夹中,最终内置到执行中使用的 jar 文件中。

此 jar 应用程序需要在不同客户端的多个实例中运行。所以我所做的是创建一个外部 application.properties 文件来区分每个用户的设置。 http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

问题


但问题是,我需要更改应用程序每个实例的 Logo 。我无法将客户 Logo 嵌入到我的应用程序 jar 中。相反,我需要像我的 application.properties 一样将它保存在外部。

目前,我所做的是在执行的jar 的同一文件夹中检查文件logo.png,如果存在,则读取该文件,获取 base64 数据并将其显示在 img 标签中。

但我希望以适当的方式将其作为静态内容来完成。我需要将静态内容外部化。 这样我就可以让每个客户都有一个运行不同静态资源内容的 jar 的特定实例

例如。我需要保留如下外部静态文件,并从我 View 中的 url 访问 hrefsrc html 标签的属性。

总结


所需的文件夹结构

+ runtime
- myapp-0.1.0.jar
- application.properties
+ static
- logo.png

应该可以访问

<img th:src="@{/logo.png}" />

最佳答案

您可以使用资源处理程序来提供外部文件 - 例如

@Component
class WebConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/ext/**").addResourceLocations("file:///yourPath/static/");
}

}

关于java - 在 spring boot 中添加外部静态文件(css、js、png ...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30966832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com