html 加载c盘下的图片,SpringBoot取本地(服务器)的图片展示在html页面解决办法...

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

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

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

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

a6860b5e7ec2e5bbe7751d5be44ef882.png

此处指定的物理路径为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相关代码。

80fce8b3d8e0376cfc2ba24cd6d6380a.png

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

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

Subject subject= SecurityUtils.getSubject();

User user=(User) subject.getPrincipal();

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

最后放上html页面:

a9a76a7402a8a39e91897a25b074d195.png

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

之后就会显示图片了

33e75eaa1d64ecd93b6fcf608d291797.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值