img标签的奇怪问题
2024-01-09 21:46:30
? ? ? 本来只是为实现一个轮播图,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"/>,果然就没有问题了。
两个本该都能显示图片的,唯一的区别就在于调后端接口获得地址后,一个可以显示,一个不能显示。
原因那就不清楚喽, 反正有这么个事, 就看大家伙有没有遇到了。
唉,怎么想偷个懒还更麻烦了呢。
文章来源:https://blog.csdn.net/qq_64164071/article/details/135489062
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!