springboot + thymeleaf resources静态文件获取不到


前言

需求:后端根据合同模板生成pdf功能,前端调取接口直接查看pdf文件。

本人后端小白,已有n年不写后端代码,之前因有使用过thymeleaf的开发经验,帮此需求模板就使用了thymeleaf。

一、问题

在thymeleaf模板中调取resources目录下的静态图片不能正常显示,but调取线上地址图片是能正常显示的。

以下预览均显示叉号
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、查找解决办法

1.修改配置文件 applicaltion.yml

代码如下:

spring.mvc.static-path-pattern: /static/**

2.修改配置文件pom.xml

代码如下(示例):

 <!-- 访问静态资源-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

以上配置修改后直接访问文件没有问题了;
在这里插入图片描述

postman直接访问http://192.168.11.183:8088/static/test168.png图片也ok;
在这里插入图片描述

But,访问接口pdf中依然没有图片。。。。。。


三、解决

度娘扒拉了近一下午始终没有解决这个问题,但是总感觉就差临门一脚了。
最后快下班的时候突然想到base64了,把图片转成base64,直接访问,完美解决!!

在这里插入图片描述

总结

目前项目中需要前后端联调上传文件(图片),下载文件(图片)等需求,都趋向于使用base64来解决,也是本人后端经验太少,目前是能想到最简直直接的解决方案。
如果还有更好的解决方案,也欢迎大家留言!

猜你喜欢

转载自blog.csdn.net/ssnnyyjj/article/details/130985480