东莞市盛裕绒艺玩具有限公司

东莞市盛裕绒艺玩具有限公司

欧亿OE备用入口

13571500226
联系方式
全国服务热线: 13571500226

咨询热线:15256605834
联系人:王晶晶
地址:沈阳市大东区东北大马路279号

配置Spring项目上传的两种方式(全解析)

来源:欧亿OE备用入口   发布时间:2019-11-22   点击量:320

欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系。本系列教程希望您能站在上帝的角度去观察(了解)Java体系。使Java的各种后端技术在你心中模块化;让你在工作中能将Java各个技术了然于心;能够即插即用。本章我们来一起了解Spring的文件上传全解析。

首先对于Spring的文件上传,我们仅仅需要关注三点

    Spring需要具备解析Multipart能力前端需要文件转换为Multipart请求在Controller中接收Multipart请求

在Spring项目中配置Multipart解析器

StandardServletMultipartResolverCommonsMultipartResolver

在JavaConfig中配置StandardServletMultipartResolver

@Bean public MultipartResolver multipartResolver() throws IOException { return new StandardServletMultipartResolver(); } @Override protected void customizeRegistration(ServletRegistration.Dynamic registration) { registration.setMultipartConfig(new MultipartConfigElement("D://")); }

在JavaConfig配置CommonsMultipartResolver

@Bean public MultipartResolver multipartResolver() throws IOException { CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(); commonsMultipartResolver.setUploadTempDir(new FileSystemResource("/temp")); return commonsMultipartResolver; }

在XML配置CommonsMultipartResolver

<bean id="multipartResolver" > <property name="maxUploadSize" value="104857600"/> <property name="maxInMemorySize" value="4096"/> <property name="defaultEncoding" value="UTF-8"></property> </bean>

在前端传递multipart请求

<form action="/fileUpload" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="submit"></form>

在Controller方法参数中接收multipart请求

@RequestPart("file") byte[] file@RequestPart("file") Part fileMultipartFile file

@RequestMapping("/fileUpload") public void FileUpload(@RequestPart("file") byte[] file) { ... }

@RequestMapping("/fileUpload") public void FileUpload(@RequestPart("file") Part file) throws IOException { file.write("D://test.jpg"); }

@RequestMapping("/fileUpload") public void FileUpload(MultipartFile file) throws IOException { String originalFilename = file.getOriginalFilename(); file.transferTo(new File("D://" + originalFilename)); }

Java开发之上帝之眼系列教程其他文章

Java开发之上帝之眼系列教程前言和章节目录汇总

勘误&感谢

  本系列文章资料来源很多出自于互联网和在下本身的见解,受限于个人技术能力水平和其他相关知识的限制,相关见解错误或者资料引用错误请各位帮助留言校正!引用资料多来自于互联网,在下在引用前会遵循各位前辈或者博主的引用说明表示感谢,但互联网资料多是转发再转发或存在遗漏请原作者内信联系指正。

相关产品

COPYRIGHTS©2017 欧亿OE备用入口 ALL RIGHTS RESERVED 备案号:320