博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc - 文件上传
阅读量:7019 次
发布时间:2019-06-28

本文共 1836 字,大约阅读时间需要 6 分钟。

  hot3.png

#Springmvc 文件上传 使用servlet3 的 javax.servlet.http.Part API 接口实现文件上传。使用 multipart编码文件。

默认在单个请求中,只处理每个文件最大1Mb,最多10Mb的文件数据。

你可以覆盖那些值,也可以设置临时文件存储的位置(比如,存储到/tmp文件夹下)及传递数据刷新到磁盘的阀值(通过使用MultipartProperties类暴露的属性)。

如果你需要设置文件不受限制,可以设置spring.http.multipart.max-file-size属性值为-1。

#项目实例

##需求:在修改商品页面添加修改商品信息功能

##springmvc 对多部件内容的解析

一、在jsp页面配置enctype对多部件上传的支持

修改商品信息:

二、在springmvc.xml中配置multipart解析器

5242880

三、创建图片的虚拟目录

在conf/server.xml 中,添加 <Context docBase="物理目录" path="/pic" reloadable="false"/>

四、具体实现

springmvc.xml 文件的配置

5242880

editItems.jsp 的配置

商品图片

controller方法

public String editItemsSubmit(Model model, HttpServletRequest request, Integer id,                              @ModelAttribute("itemsCustom") @Validated(value = {ValidGroup1.class}) ItemsCustom itemsCustom,                              BindingResult bindingResult,                              MultipartFile  items_pic)throws Exception {...String originalFilename= items_pic.getOriginalFilename();if (items_pic != null && originalFilename!=null && originalFilename.length()>0) {    //图片的存储的物理路径    String pic_path="E:\\Zen-Events\\Pictures\\tmp";    //新的图片名称    String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));    //新的图片存储地址    File newFile = new File(pic_path, newFileName);    //将图片写入到磁盘中    items_pic.transferTo(newFile);    //将图片名称写入到数据库对象中    itemsCustom.setPic(newFileName);}

五、个人理解

通过页面上传图片: <input type="file" name="items_pic"/>

在controller中: 上传组件的文件必须以 MultipartFile 这个类型来存储,以及传递处理数据。

由此,springmvc才 可以解析这个文件。

转载于:https://my.oschina.net/lemos/blog/791186

你可能感兴趣的文章
windows安装redis
查看>>
iOS 对[UIApplication sharedApplication]理解
查看>>
单播、广播和多播IP地址
查看>>
一次关于runloop的纠错探索之旅
查看>>
npm常用库
查看>>
java多线程总结
查看>>
实现一键式自动化操作(快速创建 Python 与 Shell 文件)
查看>>
9102年:从0开始手写一个Vue.js优化版脚手架
查看>>
详解Java线程安全
查看>>
Mars - 又双叒叕一个多端开发框架?这次是 Vue 驱动,能完美适配 H5
查看>>
teamview 被检测到商业用途
查看>>
AMP项目实战分享
查看>>
spring security 中解密时如何解密的?
查看>>
(JS基础)Promise 对象
查看>>
以太坊联盟链quorum搭建遇到的问题
查看>>
Xcode可删除文件列表
查看>>
百度UEditor编辑器修改默认字体、字号
查看>>
Mybatis之接口编程--JAVA动态代理的最佳展现
查看>>
Markdown 语法
查看>>
typeof
查看>>