SpringBoot取本地(服务器)的图片展示在html页面解决办法

本文介绍了一种在项目中访问本地或服务器图片的解决方案,通过配置Spring Boot的资源处理器,映射图片存储路径,实现图片的顺利加载和显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做项目,需要访问本地(服务器)的图片,由于之前没有做过图片的显示,所以写完相关代码之后发现无法显示图片,百度查了资料,才发现原因:

本地和服务器请求的url是不一样的,即存在路径问题。下面我写出一种解决办法,供以后记忆使用:


以C盘的下的temp目录为例。

在config目录下创建MyConfiguration,如下图

此处指定的物理路径为c盘的根目录,‘temp’应该放在前台的src下,与"/file/"拼在一块 

指定相关路径也可在yml或properties中配置,作用与新建Configuration一样。

相关代码:

@Configuration
public class MyConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){

        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
        //addResourceHandler是指定的虚拟路径,addResourceLocations是自己的物理路径,
        registry.addResourceHandler("/file/**").addResourceLocations("file:C:/");
        super.addResourceHandlers(registry);
    }
}

此处为指定图片的存储位置与虚拟路径,之后直接通过虚拟路径访问本地(服务器)图片。

下面为Controller相关代码。

 由于数据库中存储的是图片的绝对地址,所以取地址的时候只需要图片的名字即可,因为我的图片存放在c盘的temp文件夹下,

 即: c:/temp/..... .jpg ,所以我从第8位开始截取,获得图片的名字,然后将图片名称传到html页面。

Subject subject= SecurityUtils.getSubject();
User user=(User) subject.getPrincipal();

此两句完全可以用request请求得到id,与加载图片无关。 

最后放上html页面:

在src下将虚拟路径与图片存放的子目录名称串起来,再加上图片文件名,即可显示服务器存储的图片了。

 

之后就会显示图片了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值