SSM上传图片到Tomcat服务端,回显的时候不显示图片

再SSM框架下,我想着是把图片上传到服务器端,再获得服务器端的绝对路径回显展示图片,但是出问题了,显示不了图片,查找的网上资料改了Tomcat的server.xml就正常了,还有一种修改Tomcat的Server Locations,我就在这说一下怎么改的,做个记录

如果图片在项目里你直接可以饮用相对路径就可以得到图片,但是我这个是传到了服务器端,所以要用绝对路径,但是获取不来图像,之后改了Tomcat的server.xml,配置了虚拟路径,就没问题了,不过我感觉以后上传东西尽量不要往服务器端传,这个虚拟路径你不可能每次都配置上吧,在不同的机子上,Tomcat在不同的位置,那虚拟路径就需要改最重要的一点是当你把项目从服务器端移除的时候,上传的数据就都没有了,除非自己先备份
在在中间添加如下代码:

<Context path="/uploadimage/" 
docBase="E:\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\webprojiect\uploadimage" >    </Context>

path是虚拟路径,docBase是绝对路径,这样在项目里我就可以用相对路径引用服务器端的图片了
可能解释的有点绕,因为在项目中,默认头像图片的相对路径就在/uploadimage/ 但是这样设置就可以让你上传图片传到服务器端,显示图片可以用项目的相对路径来接收服务器端上的图片,
警告:如果是一个项目没什么问题,如果是多个项目都存在\uploadimage那它图片都会去\webprojiect\uploadimage 找图片,这样是错误的,别的项目上图片上传地址不可能是webprojiect,肯定是它在的那个项目,
优化:在Tomcat的开发环境换成发布环境,(这是上机做实验研究的,可能和上面的路径有分别)
在这里插入图片描述
点击Tomcat出现的Server Locations是灰色的,因为我用的是Eclipse不是Myeclipse,部署路径有区别
大家可以参考https://blog.csdn.net/lhy_847csdn/article/details/80644474
上面写了Eclipse和MyEclipse的部署区别,这个对我们用url显示图片很有帮助,经过上面博客的内容,我们上传图片的上传的路径会发生改变
在这里插入图片描述
不再有一大串\metadata.plugins\org.eclipse.wst.server.core…这些了
上传是还是用获取当前服务的地址等等

String savePath = request.getServletContext().getRealPath("/images");
File file=new File(savePath);
Part part = request.getPart("img");
String fileName=UUID.randomUUID().toString();
fileName=fileName+".jpg";           
String img=savePath+File.separator+fileName;

但是写到数据库里的就不能是img了,

img = "images"+File.separator+fileName;

这样就可以了,显示的是

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值