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配置图片访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot从繁至简的框架基础教程

    SpringBoot从繁至简的框架基础教程

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置
    2022-10-10
  • Spring实战之XML与JavaConfig的混合配置详解

    Spring实战之XML与JavaConfig的混合配置详解

    大家都知道Spring的显示配置方式有两种,一种是基于XML配置,一种是基于JavaConfig的方式配置。那么下这篇文章主要给大家分别介绍如何在JavaConfig中引用XML配置的bean以及如何在XML配置中引用JavaConfig,需要的朋友可以参考下。
    2017-07-07
  • Spring boot通过AOP防止API重复请求代码实例

    Spring boot通过AOP防止API重复请求代码实例

    这篇文章主要介绍了Spring boot通过AOP防止API重复请求代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java实现提取图片边缘的示例代码

    Java实现提取图片边缘的示例代码

    这篇文章主要为大家详细介绍了如何利用Java实现提取图片边缘的功能,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-06-06
  • Java concurrency线程池之线程池原理(三)_动力节点Java学院整理

    Java concurrency线程池之线程池原理(三)_动力节点Java学院整理

    这篇文章主要为大家详细介绍了Java concurrency线程池之线程池原理第三篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • springboot的logging.group日志分组方法源码流程解析

    springboot的logging.group日志分组方法源码流程解析

    这篇文章主要为大家介绍了springboot的logging.group日志分组方法源码流程解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Java中的内部类你了解吗

    Java中的内部类你了解吗

    这篇文章主要为大家介绍了Java的内部类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 创建自定义的Java注解类的方法

    创建自定义的Java注解类的方法

    这篇文章主要介绍了创建自定义的Java注解类的方法,主要部分为创建一个带有Java类型@interface的新类型,需要的朋友可以参考下
    2015-07-07
  • 关于Mybatis-plus设置字段为空的正确写法

    关于Mybatis-plus设置字段为空的正确写法

    这篇文章主要介绍了关于Mybatis-plus设置字段为空的正确写法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • spring boot添加新模块的方法教程

    spring boot添加新模块的方法教程

    这篇文章主要给大家介绍了关于spring boot添加新模块的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11

最新评论