SSM配置Ueditor实现图片的上传<三>
来源:互联网 发布:手机电池信息校正软件 编辑:程序博客网 时间:2024/06/06 07:27
上一篇博客我们实现的图片自定义上传是将图片是上传到tomcat的目录之下,这样会出现一个问题,当你重新部署你的工程的时候,tomcat会将你的图片全部都清空,那么这样你将图片存到数据库当中将会变的毫无意义!接下来实现如何将图片存取在非tomcat的目录之下!!!
1.修改文件输出的位置
@Controllerpublic class ImageController {@Autowiredprivate ImageService imageService; @RequestMapping(value="/uploadImage",method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public Map<String,Object> uploadFile(@RequestParam(value = "upfile", required = false) MultipartFile file, HttpServletRequest request,HttpServletResponse response){ Map<String,Object> map = new HashMap<String, Object>(); String realName = null; String uuidName = null; String realPath = null; try { Image image = new Image(); //文件原来的名称 realName = getRealName(file.getOriginalFilename()); //得到这个文件的uuidname uuidName = this.getUUIDFileName(file.getOriginalFilename()); //图片保存的工程// realPath = request.getServletContext().getRealPath("/images"); //真实路径// String roolPath = request.getSession().getServletContext().getRealPath("/"); //这里测试的是 把图片不存在 发布目录下 realPath = "F:\\schoolproject\\images"; image.setName(realName); image.setUrl(realPath); image.setUuidname(uuidName); //得到文件的输入流InputStream in = new BufferedInputStream(file.getInputStream());OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(realPath,uuidName)));IOUtils.copy(in, out);in.close();out.close();int flag = imageService.insertImage(image);if(flag!=0){ map.put("state", "SUCCESS");// UEDITOR的规则:不为SUCCESS则显示state的内容 map.put("url","/images/"+uuidName); //能访问到你现在图片的路径 这里 map.put("title",""); map.put("original","realName" ); }} catch (IOException e) {// TODO Auto-generated catch blockmap.put("state", "文件上传失败!"); //在此处写上错误提示信息,这样当错误的时候就会显示此信息 map.put("url",""); map.put("title", ""); map.put("original", ""); e.printStackTrace();} return map; } private String getExtName(String s, char split) { int i = s.lastIndexOf(split); int leg = s.length(); return i > 0 ? (i + 1) == leg ? " " : s.substring(i+1, s.length()) : " "; } private String getUUIDFileName(String fileName){ UUID uuid = UUID.randomUUID(); StringBuilder sb = new StringBuilder(100); sb.append(uuid.toString()).append(".").append(this.getExtName(fileName, '.')); return sb.toString(); } private String getRealName(String originalName){ //System.out.println(originalName.contains(".")); if(originalName.contains(".")){String [] as = originalName.split("\\.");//System.out.println(as[0]);return as[0]; }else {return originalName;} }}在这我们可以看到,我将图片存在了F:\\schoolproject\\images 这个目录下,但是图片显示请求的url任然是map中url这个属性也就是:http://localhost:8080/SpringMVCDemo/images/图片名称,接下来我们就只要修改server.xml文件了!!!
2.修改server.xml文件
到你的eclipse工作目录中找到server.xml文件,我的server.xml文件所在的目录如下:
F:\schoolproject\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf,在<Host></Host>标签中添加下面的一句话
<Context docBase="F:\schoolproject\images" path="/SpringMVCDemo/images" reloadable="false"/>意思应该很容易理解!!!!
这样就能访问到你非tomcat目录下的文件了!!!它这里做了个映射而已!
阅读全文
1 0
- SSM配置Ueditor实现图片的上传<三>
- SSM配置Ueditor实现图片的上传<一>
- SSM配置Ueditor实现图片的上传<二>
- ueditor - 配置实现上传图片的功能
- UEditor之实现配置简单的图片上传示例
- UEditor之实现配置简单的图片上传示例
- ueditor图片上传配置
- Ueditor 图片上传配置
- UEditor上传图片配置
- Ueditor的上传图片如何配置
- Ueditor上传图片,ssh和ssm框架下Ueditor整合
- 百度UEditor上传图片配置
- 05 ueditor上传图片配置
- UEditor图片上传配置问题解决
- ueditor 图片上传路径配置
- UEditor + golang 实现图片上传
- 基于SSM使用ueditor编辑框文本、图片上传功能实现
- ueditor 编辑器的配置 实现了上传图片与文件功能---附效果图
- BZOJ 1500 [NOI2005]维修数列 Splay
- Java并发工具类之CountDownLatch
- lighttpd+php+https+mysql+树莓派搭建属于自己的owncloud私有云盘
- POJ 2763Housewife Wind(树链剖分+线段树点更新-区间查询+入边)
- ncut简洁版移动教务客户端上线运行,欢迎下载使用
- SSM配置Ueditor实现图片的上传<三>
- javascript基础知识总结
- java中的流
- WannaCry 2.0 已能通过 Wine 感染 Linux 系统
- jdbc简介与使用md
- 分销系统_三级分销_掌上商城推广新渠道-泉州市丰泽区尚创网络科技有限公司
- 初识Edward——一个简单的变分Bayesian网络
- caffe绘制训练过程的loss和accuracy曲线
- 【LeetCode】55. Jump Game