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

(0)

相关推荐

  • 使用springboot访问图片本地路径并映射成url

    目录 springboot访问图片本地路径并映射成url 增加一个配置类: 运行该工程: SpringBoot设置url访问本地图片 创建WebMvcConfig配置类 springboot访问图片本地路径并映射成url springboot如何访问本地路径并获取图片等静态资源文件的url?代码写法如下: 增加一个配置类: @Configuration public class WebMvcConfigurer extends WebMvcConfigurer { @Override publi

  • Springboot配置图片虚拟映射示例代码

    1.新建一个MyWebAppConfigurer 配置静态资源需要映射的位置.建议把addResourceLocations的路径写在application.yml中.方面以后部署的打包修改配置文件的时候做外部配置文件加载.方面修改.这边为了节约时间就在代码中写了. package io.renren.config; import org.springframework.context.annotation.Configuration; import org.springframework.we

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

    记录一次SpringBoot配置虚拟路径访问图片的笔记最近编写的项目都是需要将图片进行访问的,而我的是有spring+springMVC+Mybatis框架实现的项目,并且在使用ssm框架的时候已经是用到了图片访问的虚拟路径来进行访问的,ssm配置虚拟路径实在Tomcat上配置的图片访问,而SpringBoot是内置Tomcat的那应该怎么配置呢具体看下图,先配置图片上传路径 这个是jsp页面的代码段 <div class="layui-form-item"> <la

  • springboot实现配置本地访问端口及路径

    目录 springboot配置本地访问端口及路径 1.在application.properties中配置 2.在控制层配置 springboot启动端口+访问路径 springboot配置本地访问端口及路径 简单地来说,访问端口及路径加上参数就是我们常说的接口,下面是配置详情 1.在application.properties中配置 #访问路径 你自定义的 server.servlet.context-path=/test #访问端口 你自定义的 server.port=9002 2.在控制层

  • SpringBoot配置SwaggerUI访问404错误的解决方法

    SpringBoot 配置SwaggerUI 访问404的小坑. 在学习SpringBoot构建Restful API的时候遇到了一个小坑,配置Swagger UI的时候无法访问. 首先在自己的pom文件中加入Swagger的依赖,如下所示: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version&

  • springboot配置https访问的方法

    1.购买或本地生成ssl证书 要使用https,首先需要证书,获取证书的两种方式: 1.自己通过keytool生成 2.通过证书授权机构购买 ###### 作为演示,我们使用keytool生成: C:\Users\xxx>keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什

  • SpringBoot配置项目访问路径URL的根路径方式

    目录 配置项目访问路径URL的根路径 1.SpringBoot在2.0之前版本 2.SpringBoot在2.0之后版本 设置默认访问路径 1.继承WebMvcConfigurerAdapter类或实现WebMvcConfigurer接口 2.@Controller路由设置 配置项目访问路径URL的根路径 1.SpringBoot在2.0之前版本 使用server.context-path server.context-path=/api 2.SpringBoot在2.0之后版本 使用serve

  • SpringBoot配置web访问H2的方法

    [前情提要]最近开始搭建博客,在本地调试的时候使用的数据库是h2,但是调试的时候需要查看数据库,本文也由此而来. 下面是我用到的方法: 使用IDEA的Database连接工具,具体操作方法就是按照要求配置连接url,用户名和密码即可.具体操作见下图: 查询结果: 但是但是这个时候启动项目会报错: org.h2.jdbc.JdbcSQLException: Database may be already in use: null. Possible solutions: close all oth

  • 使用SpringBoot配置虚拟化路径用于图片的展示

    目录 配置虚拟化路径用于图片的展示 1.首先我们在application.yml文件 2.配置虚拟路径的映射 配置虚拟路径访问本地图片问题 问题 举个例子 配置虚拟化路径用于图片的展示 springboot默认可以访问resources下的static文件夹下的静态资源,我们一般将图片指定上传到static下的某个文件夹 例如images: 开发阶段可以使用,但是当项目打成jar包就无法使用,运行会报出无法找到文件路径.这时候就需要配置虚拟路径,用来指定到硬盘下的固定地址. 1.首先我们在app

  • tomcat 配置图片虚拟路径不起作用解决办法

    最近在做一个小项目,用到了图片上传服务器,以前尝试过实现这个功能Demo,虽然基本功能没有问题,但是很不完善,当时也有在博客记录, 地址如下: http://www.jb51.net/article/107000.htm 由于当时写这个图片上传服务器的功能只是为了练练手,简单的实现后便没有再去管,后来经过道友提醒,图片上传路径不能放置在eclipse的工程目录下,否则后期部署会有很大的不方便,而且每次图片上传结束后,都要刷新eclipse下的工程才能显示图片,这次进行了改正. 将上传图片的路径放

  • spring boot2.0图片上传至本地或服务器并配置虚拟路径的方法

    最近写了关于图片上传至本地文件夹或服务器,上传路径到数据库,并在上传时预览图片.使用到的工具如下: 框架:spring boot 2.0 前端模板:thymeleaf 图片预览:js 首先,上传以及预览,js以及<input type="file">,以及预览图片的JS function Img(obj){ var imgFile = obj.files[0]; console.log(imgFile); var img = new Image(); var fr = ne

随机推荐