SpringMVC学习--文件上传

  • 简介

  文件上传是web开发中常见的需求之一,springMVC将文件上传进行了集成,可以方便快捷的进行开发。

  • springmvc中对多部件类型解析

 

  在 页面form中提交enctype="multipart/form-data"的数据时,需要springmvcmultipart类型的数据进行解析。在springmvc.xml中配置multipart类型解析器。

1 <!-- 文件上传 -->
2     <bean id="multipartResolver"
3         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
4         <!-- 设置上传文件的最大尺寸为5MB -->
5         <property name="maxUploadSize">
6             <value>5242880</value>
7         </property>
8     </bean>
  • 加入上传图片的jar

    边的解析内部使用下边的jar进行图片上传。

 

  • 创建图片虚拟目录存储图片

  在tomcat上配置图片虚拟目录,在tomcatconf/server.xml中添加:

 

1 <Context docBase="F:\develop\upload\temp" path="/pic" reloadable="false"/>

 

  访问http://localhost:8080/pic即可访问F:\develop\upload\temp下的图片。

  • Controller代码
 1 //商品修改提交
 2     @RequestMapping("/editItemSubmit")
 3     public String editItemSubmit(Items items, MultipartFile pictureFile)throws Exception{
 4         
 5         //原始文件名称
 6         String pictureFile_name =  pictureFile.getOriginalFilename();
 7         //新文件名称
 8         String newFileName = UUID.randomUUID().toString()+pictureFile_name.substring(pictureFile_name.lastIndexOf("."));
 9         
10         //上传图片
11         File uploadPic = new java.io.File("F:/develop/upload/temp/"+newFileName);
12         
13         if(!uploadPic.exists()){
14             uploadPic.mkdirs();
15         }
16         //向磁盘写文件
17         pictureFile.transferTo(uploadPic);
18     ...
19 }

 

转载于:https://www.cnblogs.com/lcngu/p/5517998.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS code常用的快捷键

在前端的开发过程中&#xff0c;如果有一个比较好的开发工具&#xff0c;配合一些常用的快捷键&#xff0c;开发效率将大大提升&#xff0c;正所谓工具善其事必先利其器。前端推荐使用编辑器VS code,用过HB-X&#xff0c;ST3,Webstorm等编译器之后就会发现&#xff0c;前端编辑…

平台日志架构说明log4j漏洞问题解析

Log4j是Apache的一个开源项目&#xff0c;通过使用Log4j&#xff0c;我们可以控制日志信息输送的目的地是控制台、文件、GUI组件&#xff0c;甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等&#xff1b;我们也可以控制每一条日志的输出格式&#xff1b;通过定义每…

2016/06/22 中色启动筹码分析作业

2016/06/22 中色启动筹码分析作业——待核实 201转载于:https://www.cnblogs.com/carl2380/p/5608596.html

浏览器各个属性的作用

作为前端程序员不可避免的会和浏览器打交道&#xff0c;所以要对浏览器的各个属性的作用进行了解&#xff0c;方便开发及调试&#xff0c;这里以谷歌浏览器为例进行简单的介绍。一是巩固对浏览器属性的认识&#xff0c;二是方便大家的学习。首先打开谷歌浏览器按F12查看控制台属…

Moment.js日期处理库的使用

Moment.jsMoment.js是一个轻量级的JavaScript时间库&#xff0c;它方便了日常开发中对时间的操作&#xff0c;提高了开发效率。这个在一些金融保险公司会经常用到&#xff0c;比如一下时间的格式化处理&#xff0c;时间的选择等等。这个比较好的地方是可以格式化时间&#xff0…

转: 微博的多机房部署的实践(from infoq)

转: http://www.infoq.com/cn/articles/weibo-multi-idc-architecture 在国内网络环境下&#xff0c;单机房的可靠性无法满足大型互联网服务的要求&#xff0c;如机房掉电&#xff0c;光缆被挖的情况也发生过。微信就曾发生大面积故障&#xff0c;包括微信信息无法发出、无法刷…

知道这些性能优化手段,工资起码提升一倍

1.什么是性能?性能指标有哪些&#xff1f;计算机的性能&#xff0c;其实和我们干体力劳动很像&#xff0c;好比是我们要搬东西。对于计算机的性能&#xff0c;我们需要有个标准来衡量。这个标准中主要有两个指标。第一个是响应时间&#xff08;Response time&#xff09;或者叫…

亲手把360奇安信软件卸载了,爽!

由于工作原因&#xff0c;在上一家公司安装了360奇安信安全软件&#xff0c;到了下一个公司还需要安装另一个安全软件&#xff0c;这个必须要卸载&#xff0c;卸载&#xff01;卸载&#xff01;但是卸载需要输入密码&#xff0c;没有密码还输入卸载不了&#xff0c;我曾经联系3…

VM虚拟机中CentOS6.4操作系统安装一

在 VMware中鼠标单击“编辑虚拟机设置”&#xff0c;在弹出的“虚拟机设置”对话框中的“硬件”标签中选择“CD/DVD&#xff08;IDE&#xff09;”&#xff0c;然后在右侧的“CD /DVD&#xff08;IDE&#xff09;”连接选项中选择“使用ISO映像文件”&#xff0c;使用“浏览”按…

vue基础教程总结篇,用最短的时间入门vue.js(持续更新...)

目前&#xff0c;vue已经成为前端工程师必会的框架之一&#xff0c;这里简单总结一下&#xff0c;可以让您快速的入门vue,师傅带进门&#xff0c;修行靠个人&#xff0c;最主要的还是自己多动手&#xff0c;多实践&#xff0c;本专栏会持续更新。 1.vue安装教程及简介 2.vue计…

关于SP一些响应码的API返回码及解析集合

在一些金融的行业&#xff08;银行、证券、保险等&#xff09;&#xff0c;如果接触了一些中间件&#xff0c;比如长城、恒银、广电等一些厂商的设备&#xff0c;不同的厂商有不同的一些规范&#xff0c;在应用开发的过程中难免会和中间件的错误码打交道&#xff0c;这里总结一…

eclipselink_Java EE 7的高峰– EclipseLink的多租户示例

eclipselink水族馆是有关所有相关规范和参考实现中有关Java EE进度的灵感和最新信息的重要来源。 他们从Oracle的Shaun Smith&#xff08; 博客 / 推特 &#xff09;获取了有关EclipseLink作为开源项目的地位和未来的演讲。 他介绍了将在EclipseLink 2.4中提供的所有新功能&…

关于一些常见智柜问题的分析及解决办法

竟然还有小伙伴感觉自研项目不好的小伙伴&#xff1f;渐渐感觉不管是在小公司或者在大公司&#xff0c;能有一个值得奋斗的远方就可以了&#xff0c;比如薪资高&#xff0c;钱多事少离家近&#xff0c;自己真的对自己目前做的事情感兴趣&#xff0c;否则干啥都感觉没劲&#xf…

流绩效–您的想法

上周&#xff0c;我介绍了一些有关Java 8流性能的基准测试结果。 你们和gal足够感兴趣&#xff0c;可以留下一些想法&#xff0c;还有哪些可以介绍。 这就是我所做的&#xff0c;这是结果。 总览 最后一篇文章的序言也适用于此。 阅读它&#xff0c;以找出所有数字为何撒谎&a…

java中JVM的原理

一、java虚拟机的生命周期&#xff1a; Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务&#xff1a;执行Java程序。程序开始执行时他才运行&#xff0c;程序结束时他就停止。你在同一台机器上运行三个程序&#xff0c;就会有 三个运行中的Java虚拟机。 Java虚…

2022将至,前端程序员们应该一起放个烟花庆祝一下,走起

前言&#xff1a;小时候&#xff0c;在我印象中&#xff0c;每到快过年的时候就有很多卖炮仗的&#xff0c;一般也就是阳历的12月份到明年的正月15号卖炮仗的商家比较多&#xff0c;省下买辣条的钱去买炮仗&#xff0c;在老家也就过年和除夕两天及正月15日这几天放烟花和炮仗比…

微信红包封面开放平台序列号

微信红包封面开放平台是一款可以领取微信红包封面的平台&#xff0c;最近网上非常流行好玩的微信红包封面&#xff0c;每一种封面都极具特色&#xff0c;让你的微信红包与众不同&#xff0c;还可以定制专属的微信红包封面&#xff0c;不过名额有限&#xff0c;这边为大家带来这…

ios多线程 -- NSOperation 简介

NSOperation的作⽤&#xff1a;配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤&#xff1a; 1&#xff09;先将需要执行的操作封装到一个NSOperation对象中 2&#xff09;然后将NSOperation对象添加到NSOpera…

在没有复杂插件的情况下从Eclipse启动和调试Tomcat

像Eclipse这样的现代IDE提供了各种插件来简化Web开发。 但是&#xff0c;我相信将Tomcat作为“常规” Java应用程序启动仍然可以提供最佳的调试体验。 大多数时候&#xff0c;这是因为这些工具将Tomcat或任何其他servlet容器作为外部进程启动&#xff0c;然后在其上附加一个远程…

Lucene分析过程指南

本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中&#xff0c;您将了解Lucene。 您将了解为什么这样的库很重要&#xff0c;然后了解Lucene中搜索的工作方式。 此外&#xff0c;您将学习如何将Lucene Search集成到您自己的应用程序中&#xff0c;以…