tomcat中显示本地图片①(已解决)
解决方案
我直接放源码了。
原理就是:我虽然调用的是虚拟目录,但是会映射到对应路径的实际
第一步:(在tomcat的 server.xml中创建一个虚拟目录)
虚拟目录创建方式:
<Context docBase="E:\liujinhua\img" path="/statics/uploadfiles" reloadable="true"/>
docBase:文件实际存储路径
path:Tomcat中虚拟路径
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/> <!-- <Context docBase="E:/青鸟学习/SSM/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/" path="/smbms-liujinhua2/statics/uploadfiles/" reloadable="true" source="org.eclipse.jst.jee.server:smbms-liujinhua2"/> --> <Context docBase="E:\liujinhua\img" path="/statics/uploadfiles" reloadable="true"/> <Context docBase="smbms-liujinhua2" path="/smbms-liujinhua" reloadable="true" source="org.eclipse.jst.jee.server:smbms-liujinhua2"/></Host>
第二步:(改写存进数据库的路径。)
/** * 实现供应商添加 * * @param provider * @param session * @return */ @RequestMapping(value = "/addProviderSava.html", method = RequestMethod.POST) public String addProviderSava(Provider provider, HttpSession session, HttpServletRequest request, @RequestParam(value = "attachs", required = false) MultipartFile[] attachs) { String companyLicPicPath = null;// 文件路径 String orgCodePicPath = null; String errorInfo = null; boolean flag = true; //String path = request.getSession().getServletContext().getRealPath("statics" + File.separator + "uploadfiles"); String path="E:\\liujinhua\\img"; logger.info("uploadFile path ======================>" + path); for (int i = 0; i < attachs.length; i++) { MultipartFile attach = attachs[i]; if (!attach.isEmpty()) {// 判断文件是否为空,不为空则上传 if (i == 0) { errorInfo = "uploadFileError"; } else if (i == 1) { errorInfo = "uploadOcError"; } String oldFileName = attach.getOriginalFilename();// 原文件名 logger.info("uploadFile oldFileName ===================>" + oldFileName); String prefix = FilenameUtils.getExtension(oldFileName);// 原文件后缀 logger.debug("uploadFile profix================>" + prefix); int filesize = 500000; logger.debug("uploadFile size===================>" + attach.getSize()); if (attach.getSize() > filesize) {// 上传大小不得超过500KB request.setAttribute(errorInfo, "*上传大小不得超过 500KB"); return "useradd"; } else if (prefix.equalsIgnoreCase("jpg") || prefix.equalsIgnoreCase("png") || prefix.equalsIgnoreCase("jpeg") || prefix.equalsIgnoreCase("pneg")) {// 上传图片格式不正确 String fileName = System.currentTimeMillis() + RandomUtils.nextInt(1000000) + "_Personal.jpg";// 重新定义的文件名 logger.debug("new fileName==========" + attach.getName()); File targetFile = new File(path, fileName);//将path(实际存储路径)放入文件类中if (!targetFile.exists()) { targetFile.mkdirs(); } // 保存 try { attach.transferTo(targetFile); } catch (Exception e) { e.printStackTrace(); request.setAttribute(errorInfo, "*上传失败!"); flag = false; } if (i == 0) { // companyLicPicPath = path + File.separator + fileName; companyLicPicPath = "/statics/uploadfiles/" + fileName; } else if (i == 1) { // orgCodePicPath = path + File.separator + fileName; orgCodePicPath = "/statics/uploadfiles/" + fileName;//此处使用虚拟路径加文件名 } logger.debug("companyLicPicPath:" + companyLicPicPath); logger.debug("orgCodePicPath:" + orgCodePicPath); } else { request.setAttribute(errorInfo, "* 上传图片格式不正确"); flag = false; } } } if (flag) { provider.setCreatedBy(((User) session.getAttribute(Constants.USER_SESSION)).getId());// 创建人 logger.debug("创建人----》" + ((User) session.getAttribute(Constants.USER_SESSION)).getId()); provider.setCreationDate(new Date());// 创建时间 provider.setCompanyLicPicPath(companyLicPicPath); provider.setOrgCodePicPath(orgCodePicPath); if (providerService.add(provider)) { return "redirect:/provider/providerlist.html"; } } return "provideradd"; }
(完成!!!)
tomcat中显示本地图片①(已解决)的更多相关文章
- tomcat中显示本地图片①(未解决)
<本模块文仅作为学习过程中的自我总结,有需要可参看,欢迎指导与提出建议,很多地方可能断章取义,理解不到位,虚心求学.谢谢!> 资料查阅原因:2018/7/10(做项目中显示详情页面,从数据 ...
- 在InternetExplorer.Application中显示本地图片
忘记了,喜欢一个人的感觉 Demon's Blog » 程序设计 » 在InternetExplorer.Application中显示本地图片 « 对VBS效率的再思考——处理二进制数据 Wo ...
- Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...
- Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)
ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...
- Android ImageView显示本地图片
Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果
大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD ...
- Atitit. html 使用js显示本地图片的设计方案.doc
Atitit. html 使用js显示本地图片的设计方案.doc 1. Local mode 是可以的..web模式走有的不能兰.1 2. IE8.0 显示本地图片 img.src=本地图片路径无 ...
- Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案
Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案 1. IE8.0 显示本地图片 img.src=本地图片路径无效的解决方案1 1.1. div来完成 ...
- Typora笔记上传到播客时图片不显示问题解决(已解决)
前言: 相信我们都遇到过,使用Typora做笔记是一件非常令人舒服的事,然而,它却有一个非常难受的地方,那就是我们在做完笔记想要将其上传到自己的博客时,复制粘贴的图片无法显示.因为Typora复制 ...
随机推荐
- 【jdbc访问数据库获取执行sql转换json】
Talk is cheap.Show me your code. import java.sql.*; import java.util.HashMap; import java.util.Map; ...
- javascript的ES6学习总结(第一部分)
ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...
- Keras RetinaNet github项目
https://github.com/fizyr/keras-retinanet 根据此网站的方法,利用Pascal VOC 2007数据集开始训练,出现error: D:\JupyterWorkSp ...
- VMVare的窗口自适应
啊!好久没来博客园了.原因很简单,我把密码丢了. 最近才从系统申请重置了密码,这不,又能登录了.你可能好奇,是的,我也在疑惑:我是不是搞IT的啊?因为只要密码丢失,我就认为世界完蛋了,我完蛋了:) 这 ...
- 60.Vue:将px转化为rem,适配移动端
1.下载lib-flexible 我使用的是vue-cli+webpack,所以是通过npm来安装的 npm i lib-flexible --save 2.引入lib-flexible 在main. ...
- 007-li标签CSS水平居中垂直居中
水平居中是text-align:center垂直居中 一般是用 line-height比如你li的高度是80px 那你设置 line-height:80px 文字就垂直居中
- tomcat 编码给为utf-8
在tomcat下找到server.xml 打开server.xml,在下图加上URIEncoding="UTF-8".
- Linux程序性能分析和火焰图
Linux程序性能分析和火焰图 Linux程序的性能分析工具数量比较多,涉及到整个操作系统的方方面面,可能是开源的原因吧,相对于Windows来说丰富太多.其中应用分析性能方面Dtrace, Syst ...
- Centos7 update dotnet 无法识别
使用了yum update 后 原来好好的dotnet 用不了了 /usr/bin/dotnet 找不到 卸载重装都没法了.... 解决方法: 把dotnet 拷贝到 /usr/bin 下面去就好了 ...
- Excel坐标自动在AutoCad绘图_4
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...