SpringBoot配置图片访问的虚拟路径

 更新时间:2022年02月18日 09:58:16   作者:qq-1438608594  
大家好,本篇文章主要讲的是SpringBoot配置图片访问的虚拟路径,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

记录一次SpringBoot配置虚拟路径访问图片的笔记
最近编写的项目都是需要将图片进行访问的,而我的是有spring+springMVC+Mybatis框架实现的项目,并且在使用ssm框架的时候已经是用到了图片访问的虚拟路径来进行访问的,ssm配置虚拟路径实在Tomcat上配置的图片访问,而SpringBoot是内置Tomcat的那应该怎么配置呢具体看下图,
先配置图片上传路径

这个是jsp页面的代码段

  <div class="layui-form-item">
        <label class="layui-form-label">简介图片</label>
        <div class="layui-upload layui-input-block">
            <button type="button" class="layui-btn" id="SingleUpload">
                <i class="layui-icon layui-icon-upload"></i> 上传图片
            </button>
            <img id="simpleImg" width="60px" height="60px">
        </div>
    </div>

js代码段

 upload.render({  //这里是上传一张图片
        elem: "#SingleUpload",
        url: ctx + "/book/SingleUpload",
        done: function (res, index, upload) {
            //假设code=0代表上传成功
            if (res.code == 0) {
                layer.msg("简介图片加载成功!", {icon: 1});
                $("#simpleImg").attr("src", res.image);
                $("#SingleUpload").addClass("layui-btn-disabled");
                $("#SingleUpload").off("click");
            }
        }
    });

接下来是Controller里面的具体配置

  private String simplePath = "D:/uploadLibrary/";
    // 详细图片地址
    private StringBuilder detailsPath = new StringBuilder();

 @RequestMapping("/SingleUpload")
    @ResponseBody
    public Map<String, Object> SingleUpload(@RequestParam("file") MultipartFile file, HttpServletRequest req,
                                            HttpSession session) {
        Map<String, Object> map = new HashMap<String, Object>();
        try {
            String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
            String filename = UUID.randomUUID() + suffixName;
            File filePath = new File(dirPath);
            if (!filePath.exists()) {
                filePath.mkdirs();
            }
            //创建虚拟路径存储
            simplePath = req.getServletContext().getContextPath() + "/file/" + filename;
            // simplePath = filename;
            map.put("image", simplePath);
            file.transferTo(new File(dirPath + filename));
            map.put("code", 0);
            map.put("msg", "上传成功");
        } catch (Exception e) {
            map.put("code", 1);
            map.put("msg", "上传失败");
            e.printStackTrace();
        }
        return map;
    }

数据库存储的图片路径

在这里插入图片描述

一切都设置好了过后这时就需要对SpringBoot配置虚拟路径来对图片进行访问了
新建config 控制类在里面新建类方法WebMvcConfig来对图片进行虚拟路径的配置
具体代码

package com.book.libratyman.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/file/**").addResourceLocations("file:D:/uploadLibrary/");
    }
}


addResourceHandler("/file/**")是我在项目中访问图片的路径也就是数据里面的图片存储路径,而addResourceLocations(“file:D:/uploadLibrary/”)则是我上传图片的真实路径我上传图片的真实路径是 **D:/uploadLibrary/**配置以后运行项目便可以访问项目图片了。

在这里插入图片描述

在这里插入图片描述

图片显示出来就表示已经配置成功了哦!!!!!

到此这篇关于SpringBoot配置图片访问的虚拟路径的文章就介绍到这了,更多相关SpringBoot配置图片访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java动态代理实现方法小结

    Java动态代理实现方法小结

    这篇文章主要介绍了Java动态代理实现方法,结合实例形式总结分析了java基于JDK、CGLIB及CGLIB实现动态代理的相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • 使用SpringCloudAlibaba整合Dubbo

    使用SpringCloudAlibaba整合Dubbo

    这篇文章主要介绍了使用SpringCloudAlibaba整合Dubbo,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • JVM(Java虚拟机)简介(动力节点Java学院整理)

    JVM(Java虚拟机)简介(动力节点Java学院整理)

    Java虚拟机(Jvm)是可运行Java代码的假想计算机。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。对java jvm 虚拟机感兴趣的朋友通过本文一起学习吧
    2017-04-04
  • SpringBoot中支持Https协议的实现

    SpringBoot中支持Https协议的实现

    本文主要介绍了SpringBoot中支持Https协议的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • java实现的AES加密算法完整实例

    java实现的AES加密算法完整实例

    这篇文章主要介绍了java实现的AES加密算法,结合完整实例形式分析了AES加密类的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Mybatis-Plus中Mapper的接口文件与xml文件相关的坑记录

    Mybatis-Plus中Mapper的接口文件与xml文件相关的坑记录

    这篇文章主要介绍了Mybatis-Plus中Mapper的接口文件与xml文件相关的坑记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 如何通过properties文件配置web.xml中的参数

    如何通过properties文件配置web.xml中的参数

    这篇文章主要介绍了如何通过properties文件配置web.xml中的参数方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java多线程同步器代码详解

    Java多线程同步器代码详解

    这篇文章主要介绍了Java多线程同步器代码详解,文章分别介绍了是CountDownLatch,Semaphore,Barrier和Exchanger以及其相关代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    这篇文章主要基于Servlet+JSP+JavaBean开发模式实现JavaWeb用户登录注册功能实例代码,非常实用,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-05-05
  • 基于Struts2实现防止表单重复提交

    基于Struts2实现防止表单重复提交

    这篇文章主要介绍了基于Struts2实现防止表单重复提交,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论