Springboot如何加载静态图片

 更新时间:2022年03月18日 11:05:11   作者:宸0313  
这篇文章主要介绍了Springboot如何加载静态图片,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何加载静态图片

java工具类

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import 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/20180919/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是图片存放的真实路径
        registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\file\\");
    }
}

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

例如:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 通过实例解析Java类初始化和实例初始化

    通过实例解析Java类初始化和实例初始化

    这篇文章主要介绍了通过实例解析Java类初始化和实例初始化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • SpringBoot通过@MatrixVariable进行传参详解

    SpringBoot通过@MatrixVariable进行传参详解

    这篇文章主要介绍了SpringBoot使用@MatrixVariable传参,文章围绕@MatrixVariable展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • java list用法示例详解

    java list用法示例详解

    java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对java list用法做了详解
    2014-01-01
  • java集合类HashMap源码解析

    java集合类HashMap源码解析

    这篇文章主要介绍了Java集合之HashMap用法,结合实例形式分析了java map集合中HashMap定义、遍历等相关操作技巧,需要的朋友可以参考下
    2021-06-06
  • Spring项目使用Maven和BCrypt实现修改密码功能方式

    Spring项目使用Maven和BCrypt实现修改密码功能方式

    在数字时代,信息安全尤其是密码安全至关重要,本文通过实例探讨如何在Spring项目中利用Maven和BCrypt实现一个安全的密码修改功能,我们将从环境搭建到编写核心业务逻辑,再到完成功能测试,确保每一步都遵循最佳安全实践,通过本文,你将了解到密码安全的重要性
    2024-10-10
  • 深入浅出讲解Spring框架中AOP及动态代理的应用

    深入浅出讲解Spring框架中AOP及动态代理的应用

    在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术
    2022-03-03
  • Java 数组转List的四种方式小结

    Java 数组转List的四种方式小结

    本文主要介绍了四种将Java数组转换为List的方法,包括使用Arrays.asList、ArrayList构造器、Collections.addAll以及JDK8的Stream,具有一定的参考价值,感兴趣的可以了解一下
    2024-10-10
  • java Unsafe详细解析

    java Unsafe详细解析

    Unsafe为我们提供了访问底层的机制,这种机制仅供java核心类库使用,而不应该被普通用户使用。但是,为了更好地了解java的生态体系,我们应该去学习它,去了解它,不求深入到底层的C/C++代码,但求能了解它的基本功能。下面小编来和大家一起学习
    2019-05-05
  • Java中Json解析的方法分析

    Java中Json解析的方法分析

    这篇文章主要介绍了Java中Json解析的方法,结合实例形式分析了java针对json格式数据的解析实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • netty对proxy protocol代理协议的支持详解

    netty对proxy protocol代理协议的支持详解

    这篇文章主要为大家介绍了netty对proxy protoco代理协议的支持详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论