文档章节

SpringMVC 4:文件上传和校验

z
 zahschusheng
发布于 2015/10/26 10:41
字数 396
阅读 236
收藏 8
文件上传,配置文件上传解析器
Xml代码  
<!-- 文件上传解析器  上传最大尺寸:10M(10485760)、id名称必须为:multipartResolver -->  
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <property name="maxUploadSize" value="10485760"/>  
    </bean>  
<!-- 文件上传解析器  上传最大尺寸:10M(10485760)、id名称必须为:multipartResolver -->
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="maxUploadSize" value="10485760"/>
	</bean>
配置静态资源
Xml代码  
<mvc:resources location="/upload/" mapping="/upload/**"/>  
<mvc:resources location="/upload/" mapping="/upload/**"/>
 controller
Java代码  
public String saveOrUpdate( Person p, BindingResult br, MultipartFile photo, HttpServletRequest request) throws IOException {  
    if (!photo.isEmpty()) {  
        ServletContext sc = request.getSession().getServletContext();  
        String dir = sc.getRealPath("/upload/"); // 得到服务器真实路径  
        String filename = photo.getOriginalFilename(); // 得到上传时的文件名  
        String _extName = filename.substring(filename.indexOf(".")); // 扩展名  
  
        // filename = UUID.randomUUID().toString() + _extName; //图片名称定义为UUID,防止并发文件被覆盖的情况  
        // filename = System.nanoTime() + _extName; //nanoTime数值  
        filename = System.currentTimeMillis() + _extName; // currentTimeMillis数值  
  
        FileUtils.writeByteArrayToFile(new File(dir + "/" + filename), photo.getBytes()); // 写文件到服务器上  
  
        p.setPhotoPath("/upload/" + filename); // 设置图片路径  
    }  
  
    personService.saveOrUpdate(p);  
  
    return "redirect:/person/listAll.action"; // 重定向  
}  
	public String saveOrUpdate( Person p, BindingResult br, MultipartFile photo, HttpServletRequest request) throws IOException {
		if (!photo.isEmpty()) {
			ServletContext sc = request.getSession().getServletContext();
			String dir = sc.getRealPath("/upload/"); // 得到服务器真实路径
			String filename = photo.getOriginalFilename(); // 得到上传时的文件名
			String _extName = filename.substring(filename.indexOf(".")); // 扩展名

			// filename = UUID.randomUUID().toString() + _extName; //图片名称定义为UUID,防止并发文件被覆盖的情况
			// filename = System.nanoTime() + _extName; //nanoTime数值
			filename = System.currentTimeMillis() + _extName; // currentTimeMillis数值

			FileUtils.writeByteArrayToFile(new File(dir + "/" + filename), photo.getBytes()); // 写文件到服务器上

			p.setPhotoPath("/upload/" + filename); // 设置图片路径
		}

		personService.saveOrUpdate(p);

		return "redirect:/person/listAll.action"; // 重定向
	}
 
 校验,我在研究一下

获取【下载地址】 【新技术】现在最流行的java后台框架组合java springmvc mybaits mysql oracle html5 后台框架源码

© 著作权归作者所有

共有 人打赏支持
z
粉丝 2
博文 4
码字总数 2818
作品 0
济南
私信 提问
webuploader分片上传(前后端分离)

功能描述 1、webuploader是百度研发的上传组件,文档不是特别规整,但是也够用了。 2、前端使用官网的上传图片demo,在此基础上代码略微调整做分片。既可以上传图片也可以上传文件。文件超过...

小涴熊
2018/06/26
0
0
springmvc上传excel文件

@那位先生 你好,想跟你请教个问题:您有springMVC上传excel文件到项目中的文件夹,在页面中选择excel文件,并对里面的数据进行校验的代码吗?

白天不懂YE的黑
2014/12/12
1K
0
Video-No.01 李守宏_SpringMVC基础与应用视频教程

1、SpringMVC基本配置 1)引入spring Jar包 2)配置web.xm文件,加载SpringMVC配置 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc......

蓝汀华韶
2015/03/22
0
0
【企业级框架整合】Springmvc+mybatis+restful+bootstrap框架整合

框架简介: 项目Maven构建,真实大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供模块化、服务化、原子化的方案,将功能模块进行拆分,可以公用到所有的项目中。架...

9830ying
2017/05/03
658
1
springMVC 高级2 之 valadation

1 validation Spring3支持JSR-303验证框架,JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator(与Hibernate ORM 没有关系),JSR 303 用于对J...

龙之天空
2015/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

matlab-自控原理 nichols 由开环传递函数画出奈奎斯曲线

  matlab : R2018a 64bit     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   code clearclcclosenu......

志成就
19分钟前
1
0
ABUSE建了个恶意网站数据库

数据库已经按不同类型标记了各种恶意网站,例如它们当前是否在线,恶意内容类型,潜在威胁信息等。安全软件开发人员和浏览器开发人员可以免费使用此数据库来帮助用户拦截可能存在威胁的恶意网...

linuxCool
今天
2
0
【SQL】- 高级用法

数值和字符范围比较: between select *from books where price>=23.5 and price<=35; -- 等价于select *from books where price between 23.5 and 35; -- between包含边界的比较>= / <=......

ZeroneLove
今天
7
0
RabbitMQ如何解决各种情况下丢数据的问题

1.生产者丢数据 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Jav...

编程SHA
今天
4
0
JVM平台上的响应式流(Reactive Streams)规范

Reactive Streams 响应式流是一个倡议,用来为具有非阻塞后压的异步流处理提供一个标准。大家努力的目标集中在运行时环境(JVM和JavaScript)和网络协议上。 注:响应式流其实就是一个规范,...

java菜分享
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部