热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springboot上传文件使用Request对象中可以获取各种路径信息

场景描述:使用springboot上传文件到服务器,但是需要将文件路径返回给前台。项目中使用的是用虚拟路径配置返回形式如下:http:172.22.5.12:8083puhuicr

场景描述:使用springboot上传文件到服务器,但是需要将文件路径返回给前台。项目中使用的是用虚拟路径配置返回形式如下:

http://172.22.5.12:8083/puhuicrm/photo/appletimg/e8d4b60fd3ff4bcd89d47413201ca337.jpg

测试环境:springboot 2.0.3+jdk1.8+tomcat 8.0

正式环境:springboot 2.0.3+jdk1.8+tomcat 8.0+nginx

先上本地代码:

《springboot上传文件使用Request对象中可以获取各种路径信息》

出现的问题:

1.由于测试使用http协议,但是正式版本使用https协议,所以部署正式版本时就会由于写死http://时就会导致路径错误

解决办法:使用request获取request.getScheme()+”://”

2.更改之后,正式获取的路径https://crm.puh**lth.com:80/photo/product/2019/1/22//beaf97f5-9f94-4cdb-b2aa-9168962b3fe2.pdf。仍旧打不开。

是因为crm.pu****lth.com已经代理端口号,现在获取到的80是nginx默认的端口号。而现在正式使用https的端口号是443.也就是说,443的端口路径就是可以访问的。因此解决办法是修改nginx的端口和https访问一致的443.

修改参考

https://blog.csdn.net/u011922760/article/details/52893438

https://blog.csdn.net/lsm135/article/details/51879453

request获取URL知识点总结:

《springboot上传文件使用Request对象中可以获取各种路径信息》

String path = request.getContextPath();  

String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;  

String remoteAddress=request.getRemoteAddr();  

String servletPath=request.getServletPath();  

String realPath=request.getRealPath(“/”);  

String remoteUser=request.getRemoteUser();  

String requestURI=request.getRequestURI();  

out.println(“path:”+path+”
”);  

out.println(“basePath:”+basePath+”
”);  

out.println(“remoteAddr:”+remoteAddress+”
”);  

out.println(“servletPath:”+servletPath+”
”);  

out.println(“realPath:”+realPath+”
”);  

out.println(“remoteUser:”+remoteUser+”
”);  

out.println(“requestURI:”+requestURI+”
”);  

结果:  

path:/WebDemo  

basePath:http://localhost:8683/WebDemo/  

remoteAddr:127.0.0.1  

servletPath:/index.jsp  

realPath:D:\apache-tomcat-6.0.13\webapps\WebDemo\  

remoteUser:null  

requestURI:/WebDemo/index.jsp  

 


推荐阅读
author-avatar
小流氓本尊_438
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有