img标签的奇怪问题

本来只是为实现一个轮播图,img的url地址是从后端接口获取的,但不巧的是url地址的图片都过期了。 因为懒得重新到网上找图,就想直接用一下本地的图片,简单的想法遇到一堆问题。

问题一:

因为是springboot项目,遇到的第一个问题就是,springboot内嵌了tomcat,而tomcat禁止浏览器访问本地文件,试了一下,直接用浏览器其实是可以访问本地图片的。那么解决思路就是怎么让它不禁止访问本地文件。

解决方法可以改写WebMvcConfigurationSupport 里的方法,让他用可以访问指定的本地地址。

复制代码
@Configuration
public class LocalPathWebMvcConfigurer extends WebMvcConfigurationSupport {
    /**
     * 在springboot项目中,允许浏览器访问指定本地文件
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/img/**").addResourceLocations("file:///D:/exerciting/java/mall-picture/");
        super.addResourceHandlers(registry);
    }
}

本来以为找到方法,可以解决了,事实却没有显示成功。(后来改了,成功显示^_^)

但这并不代表这方法没有用,因为通过控制台查看,表示这些图片是成功获取了的,但没有显示出来。

这可能就跟前端有关了,直接访问本地行不通,那就老实到网上找一些图片喽。

偏不,本地又不只有这一个方向,我把它放前端的静态资源里不就行了(因为是前后端分离),没想到的是接下来遇到了更更奇怪的问题。

问题二:

因为要调后端接口获取地址,我就直接将"../assets/png/person.png"存到了数据库中,然后就,果然又出问题了,在尝试了<img src="../assets/png/person.png"/>发现能显示图片后,反正就是懵懵懵,然后老老实实的写<img src="src/assets/assets/png/person.png"/>,果然就没有问题了。

两个本该都能显示图片的,唯一的区别就在于调后端接口获得地址后,一个可以显示,一个不能显示。

原因那就不清楚喽, 反正有这么个事, 就看大家伙有没有遇到了。

唉,怎么想偷个懒还更麻烦了呢。

相关推荐
cpolar技术支持2 分钟前
浏览器也能跑本地 AI:用 Transformers.js + WebGPU 做一个最小推理 Demo,cpolar 给同事远程体验
前端·ai·cpolar·webgpu·transformers.js
那个松鼠很眼熟w5 分钟前
4.Spring-Ai入门案例
java·人工智能·spring
计算机毕设定制辅导-无忧学长6 分钟前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
泡海椒1 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
MetaLite2 小时前
AI编程与工程底座-让AI遵守SpringBoot边界
人工智能·spring boot·ai编程
计算机魔术师2 小时前
OpenAI 发布 GPT-6 Astra:多项基准刷新纪录, cybersecurity 能力达 Critical 阈值
前端
xy34532 小时前
Axure9.0中继器遮罩实现方法
前端·ui·html·axure·原型·产品设计
青山木2 小时前
Hot 100 --- 数组中的第K个最大元素
java·数据结构·算法·排序算法
风骏时光牛马2 小时前
智能任务自动化协同AI工作流
前端
玛卡巴卡ldf2 小时前
【AICoding】笔试提示词设计思路
java·算法·ai编程