spring 注解上传文件 @RequestParam,FormData上传文件
一. 首先我们需要对formdata有所了解
1.FormData可以把它理解成一个虚拟的表单对象,它只有一个方法append,这个可以在浏览器console一下就知道了。我们可以通过append向FormData里面添加各种需要提交的数据。
你可以先创建一个空的 FormData
对象,然后使用 append()
方法向该对象里添加字段,如下:var oMyForm = new FormData();
oMyForm.append("username", "Groucho");
二.jquery的 $("form").serialize()和 new FormData表单序列化
$("form").serialize()和 new FormData($(‘#uploadForm‘)[0])都是序列化表单,实现表单的异步提交,但是二者有区别
首先,前者,只能序列化表单中的数据 ,比如文本框等input select等的数据,但是对于文件,比如文件上传,无法实现,那么这时候,FormData就上场了,
new FormData使用需要有一个注意点,
注意点一:对于jquery的要求是,好像是 版本1.8及其以上方可支持。
另外该对象不仅仅可以序列化文件,一样可以用作表单数据的序列化,(就是说包含了serialize()的功能);
注意点二:
contentType : false,必须false才会自动加上正确的Content-Type
processData : false,必须false才会避开jQuery对 formdata 的默认处理 ,XMLHttpRequest会对 formdata 进行正确的处理
三.FormData的使用:
1).前台
function save(){$('#user-form').bootstrapValidator('validate');var formValid = $('#user-form').data('bootstrapValidator').isValid();//if(formValid){var params = new FormData($('#user-form')[0]);ajax({ url: "@url("/sample/saveMutilFile.action")",data:params,type:"post", mask:true,/** *必须false才会自动加上正确的Content-Type */contentType:false, /** * 必须false才会避开jQuery对 formdata 的默认处理 * XMLHttpRequest会对 formdata 进行正确的处理 */ processData:false, success: function(result){//刷新文件上传控件if(result.data.file1){$("#f1").fileinput('refresh', {fileId:result.data.file1.fileId,fileName:result.data.file1.fileName});}if(result.data.file2){$("#f2").fileinput('refresh', {fileId:result.data.file2.fileId,fileName:result.data.file2.fileName});}if(result.data.file3){$("#f3").fileinput('refresh', {fileId:result.data.file3.fileId,fileName:result.data.file3.fileName});}$("#f4").fileinput('refresh', {fileId:result.data.fileId,fileName:result.data.fileName});}});//}}
2).后台
public ResultBean save(TbSystemInfo entity, @RequestParam("systemAttachment-file") MultipartFile systemfile) {// 附件保存long size = systemfile.getSize();// 获取文件名String fileName = systemfile.getOriginalFilename(); }
转载于:https://www.cnblogs.com/zsber/p/9549930.html
spring 注解上传文件 @RequestParam,FormData上传文件相关推荐
- ajax send上传出错,AJAX + FormData 上传文件失败?
做了一个上传头像的功能,先选择头像(用按钮代替了丑陋的input),选择文件成功,用 input onchange() 句柄 做的预览图片功能也成功,确认上传的时候,想用AJAX,从 有什么方法能aj ...
- java注解接收上传文件,前台:Input type=file 后台获取文件内容用的是spring注解,当地环境上传图片是好的,发布到服务器上图片读取不到,求大神指点...
当前位置:我的异常网» Java Web开发 » 前台:Input type="file" 后台获取文件内 前台:Input type="file" 后台获取文 ...
- 创建文件、文件上传下载、发送邮件附件以及文件点击预览功能(超详细注解)
根据模板生成文件 @Overridepublic File exportStuFileExcelNew(Studengt student, Page<StuFile> page)throw ...
- Spring MVC 学习总结(五)——校验与文件上传
目录 一.Spring MVC验证器Validator 1.1.定义验证器 1.2.执行校验 1.3.在UI中添加错误标签 1.4.测试运行 二.JSR303验证器 2.1.添加hibernate-v ...
- Spring MVC 学习总结(五)——校验与文件上传 转自 张果 博客;已经编程校验;正确无误;...
Spring MVC 学习总结(五)--校验与文件上传 目录 一.Spring MVC验证器Validator 1.1.定义验证器 1.2.执行校验 1.3.在UI中添加错误标签 1.4.测试运行 二 ...
- Spring Boot + Vue 前后端分离,两种文件上传方式总结
在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...
- Java发送form-data请求实现文件上传
如何使用Java发送form-data格式的请求上传multipart文件? 封装了以下工具类: package com.leeyaonan.clinkz.common.util;import jav ...
- Spring Boot(5) web开发(3)拦截器、文件上传、异常处理
Spring Boot(5) web开发(3)拦截器.文件上传.异常处理 学习视频: https://www.bilibili.com/video/BV19K4y1L7MT?p=49&spm_ ...
- 【j2ee spring】38、巴巴运动网的产品文件的上传
巴巴运动网的产品文件的上传 1.项目图解 2.我们开始做我们的相应的功能模块 页面的素材我会上传的,链接是:http://download.csdn.net/detail/cutter_point/8 ...
- multipart/form-data与httpclient文件上传
写在前面:本文讨论的内容都是基于java相关技术栈. 文件上传无论是在传统的基于html的web系统开发,还是目前主流的移动app开发,都是一个比较常见的功能需求.例如:web oa系统,可能会涉及到 ...
最新文章
- php7.1解压包安装,【Swoole】php7.1安装swoole扩展
- Java加密与解密的艺术~DESede实现
- java实现图像处理高通滤波,图像处理入门——滤波 - leo_de_macondo的个人页面 - OSCHINA - 中文开源技术交流社区...
- ASP.NET2.0 菜单控件menu的动态静态用法
- angularjsl路由_HTML5模式下的AngularJS路由404错误
- windows打开设备管理器
- LeetCode4. 寻找两个有序数组的中位数
- 杭电2103---Family planning
- Vector Math for 3D Computer Graphics (Bradley Kjell 著)
- 【我的Android进阶之旅】Android开发之NDK相关版本下载链接
- 卸载WPS后office文档图标不能正常显示和WPS网盘图标无法删除
- IObit Uninstaller(卸载工具) v10.0.2.20
- Android Jetpack架构篇:Room
- vs的oxc000007b错误和key valid错误
- 汇编 输入成绩,排序输出,平均值,及格,不及格人数,最大最小值
- 新唐M480系列单片机写入dataflash数据
- 2022便利蜂4.14算法笔试题
- Linux查看日志命令(4种常见方式)
- CSAPP:第7章 链接
- 类加载器(ClassLoader)