• 前台显示本地图片


    原因分析和解决思路

    为什么在模板引擎(JSP,ThemyLeaf等等)上不能正常显示本地图片?

      因为在模板引擎中,你输入的路径名都会在前面默认加上项目路径(localHost:8080/XXX),导致路径错误

      比如你输入的是:C:/test/test1.jpg

      但实际的路径会变成 : localHost:8080/项目名/C:/test/test1.jpg

    解决思路

      使用映射路径,自己定义一个路径,把该路径映射到电脑本地路径

    SpringBoot+ThymeLeaf显示本地图片

    在application.properties中添加路径的映射

    例子:

    com.jy.localFile=C:/project_image/test/
    spring.mvc.static-path-pattern=/**
    spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/
    , classpath:/static/, classpath:/public/, file:${com.jy.localFile}

    就这么简单

    com.jy.localFile :

      自定义属性

    spring.mvc.static-path-pattern :

      就是springMVC配置前端处理器时的那个<url-pattern>.默认的就是/**,所以此处不写static-path-pattern也没问题

    spring.resources.static-locations :

      1).映射的路径, ${com.jy.localFile}前边的那一大串都是SpringBoot默认的配置,必须写上,否则默认配置会被覆盖而失效!

      2).本地磁盘路径前必须加上file: , 表示是指一个具体的硬盘路径, 其他的使用classpath指的是系统环境变量

    注意 : 1.修改默认配置的时候会把默认配置直接覆盖,所以在修改时要加上默认配置的内容

       2.properties文件中反斜杠()表示连接

    前台ThymeLeaf获取本地图片

      th:src="@{/{imageName}(imageName=${session.user.imageName})}"

      用传参的方式避免把${session.user.imageName})原文填入

    jsp显示本地图片

    通用解决方法:

      在tomcat的server.xml配置文件中,在<host></host>标签中间添上一句

        

    <!-- docBase : 磁盘绝对路径,即本地图片存放地址 -->
    <!-- path : 虚拟路径, testProject是项目名 -->
    <!-- reloadable : 有文件更新时,是否重新加载 -->
    <Context docBase="C:project_image	estProject" path="/testProject/upload" reloadable="true"/>
    

      注 : 为什么path="/testProject/upload"而不是path="/upload"?(testProject是项目名)

          比如项目地址是 : localhost:8081/testProject

          如果设置为path="/upload",那么图片读取的地址会变为 : localhost:8081/upload/photo.jpg,这个错误地址是读取不到图片的,连项目都进不去.

          如果path="/testProject/upload",则图片读取地址为 : localhost:8081/testProject/upload/photo.jpg,这样才能读取到图片.

      jsp加载图片代码:

          <img src="${pageContext.request.contextPath }/testProject/photo.jpg">

    eclipse配置方法:

      eclipse可以不用上边的配置方法,直接在eclipse内配置即可.

      如下图,进入Add External Web Module界面,按照上边设置对应的docBase和path即可.

      

      

  • 相关阅读:
    dmo4解析xml
    myeclise生成webservice客户端代码
    华为QOS原理及配置
    【转载】 Jointwave零延时视频传输for FPGA/ASIC进入军工领域
    【转载】 网络性能测试工具
    【转载】 结构体大小计算
    【转载】 H264的I/P/B帧类型判断
    【转载】 IP实时传输协议RTP/RTCP详解
    【转载】 了解实时媒体的播放(RTP/RTCP 和 RTSP)
    【转载】 CSDN博客与博客园使用对比
  • 原文地址:https://www.cnblogs.com/jinyu59/p/10632725.html
Copyright © 2020-2023  润新知