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复制 ...
随机推荐
- JS变量类型与计算
一.题目 1.JS中使用typeof能得到哪些类型? 2.何时使用===何时使用==? 3.JS中有哪些内置函数? 4.JS变量按照存储方式区分为哪些类型,并描述其特点? 5.如何理解JSON? 知识 ...
- 2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析
1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,sys ...
- FG面经Prepare: BST to Double LinkedList
BST to double linkedlist in inorder traversal sequenceFollow Up: 如果这个BST自带prev, next, 给一个value,插进去这个 ...
- HDU 2196树形DP(2个方向)
HDU 2196 [题目链接]HDU 2196 [题目类型]树形DP(2个方向) &题意: 题意是求树中每个点到所有叶子节点的距离的最大值是多少. &题解: 2次dfs,先把子树的最大 ...
- React-typescript-antd 常见问题
一.The key 'Accept' is not sorted alphabetically //tslint.json { "extends": ["tslint:r ...
- Linux下SVN创建新的项目
Linux下SVN创建新的项目 Linux环境下的SVN创建新的项目 一.前置条件: 1)有安装了linux系统的服务器,123.*.*.29 2)服务器上安装了svn,本人服务器的svn的数据安 ...
- java生成条形码工具类
package com.runtime.extend.utils.CodeCreate;import java.awt.Color;import java.awt.Font;import java.a ...
- zimbra填坑记录
邮件服务器上架,问题记录. 1.DNS解析设置,zimbra收发邮件均使用统一域名,mail.xxxx.com.cn,因此在做SMTP,POP,MX记录时均应指向此域名. 2.实际上架内部网络和安装所 ...
- 如何在Linux 中获取硬盘分区或文件系统的UUID?
作为一个 Linux 系统管理员,你应该知道如何去查看分区的 UUID 或文件系统的 UUID.因为现在大多数的 Linux 系统都使用 UUID 挂载分区.你可以在 /etc/fstab 文件中可以 ...
- 如何用Github删除repository
第一步,登陆github,一定要点开要删除的repository,再选择相应的setting: 第二步,下拉选择,delete this repository 第三步,输入删除的仓库名,删除repos ...