Springboot如何加载静态图片

网友投稿 458 2022-08-19


Springboot如何加载静态图片

目录如何加载静态图片java工具类使用的是注入的方式Springboot的图片显示问题原因解决方法

如何加载静态图片

java工具类

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

HhHTPqqimport org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**

* Created by zhangj on 2018/07/31

*/

@Configuration

public class ShowImage extends WebMvcConfigurerAdapter {

/**

* 注入图片存放路径

*/

@Value("${upload.path.prefix}")

private String prefix;

@Value("${upload.path.res}")

private String uploadPath;

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

//注:使用此种方法进行路径配置时,“file:D:/OTA/” 为正确路径地址 “file:D:/OTA”为错误路径地址,需以反斜杠结尾才可正确加载

registry.addResourceHandler("/images/**").addResourceLocations("file:" + prefix + "/");

super.addResourceHandlers(registry);

}

}

使用的是注入的方式

所以application中的配置:

upload:

path:

prefix: d:/app/share/data

res: /upload/resource/

加载静态资源文件时使用springboot使用的方式,需注意点为拼接的路径需以反斜杠结尾,不然访问不到正确的路径地址,设置完成之后,即可进行访问。

如图片路径地址为:

file:///D:/app/share/data/upload/resource/2018091http://9/b104721b07d64501a6d24215dbc70207.bmp

需将 file:///D:/app/share/data 更改为 http://localhost:8765/images 即可成功访问。

Springboot的图片显示问题

在springboot中的通过页面来显示本地的图片

原因

本地图片不能显示最主要的原因是,图片在本地url和图片在服务器上被加载的URL是不一样的,也就是路径问题,

解决方法

因为springboot中的tomcat是内置的,所以需要编写一个配置文件,也就是图片位置的转化器,原理是在虚拟一个服务器上面的文件夹,与本地图片的位置进行匹配,在调用服务器上的图片。

配置类如下:

package com.ghrc.config;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**

* @author:yst

*/

@Configuration

public class UrlConfig implements WebMvcConfigurer {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

//addResourceHandler是指你想在url请求的路径

//addResourceLocations是图片存放的真实路径HhHTPqq

registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\file\\");

}

}

但是得在你的页面显示前面加上

例如:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java Spring的refresh方法你知道吗
下一篇:剑指Offer之Java算法习题精讲排列与N叉树
相关文章

 发表评论

暂时没有评论,来抢沙发吧~