jquery-form中ajaxSubmit提交文件,以及解决ie9下上传文件后自动下载问题
2017-09-14 15:41
573 查看
需要引用jquery-form.js 下载地址http://plugins.jquery.com/form/
1、之前的项目一直使用formData的方式上传文件到后台处理,但新项目要求支持ie9,ie9不能有效支持formData,只能使用ajaxSubmit的方式上传文件前台代码
[html] view
plain copy
<form id="upload-file" method="post" enctype="multipart/form-data"
hidden="hidden">
<input id="import-batch" type="file" name="file"
onchange="batchImport2();"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
</form>
function batchImport2() {
var options = {
url : "ajax/import/",
success : function(data) {
var returnData = JSON.parse(data);
。。。。
},
resetForm : true,
};
$.("#upload-file").ajaxSubmit(options);
}
2、后台代码如下:
[java] view
plain copy
@RequestMapping(value = "......", method = RequestMethod.POST, produces = {"text/html;charset=UTF-8"})
public String upload(HttpServletRequest request,
HttpServletResponse response, @RequestParam(value = "file") MultipartFile file)
throws EncryptedDocumentException, InvalidFormatException, WrongFileException, FileRowErrorException,
Exception
{
//TODO 上传文件处理代码
return ... //json 格式的返回信息
}
注意前端代码中不能指定dataType
后台代码中一定要指定返回格式为 text/html,如果不这样做在ie9总返回值会变为下载格式
注意ajaxSubmit上传方式为异步上传,目前我没有找到同步上传的方法
options的其他参数注释如下:
http://jquery.malsup.com/form/#options-object
1、之前的项目一直使用formData的方式上传文件到后台处理,但新项目要求支持ie9,ie9不能有效支持formData,只能使用ajaxSubmit的方式上传文件前台代码
[html] view
plain copy
<form id="upload-file" method="post" enctype="multipart/form-data"
hidden="hidden">
<input id="import-batch" type="file" name="file"
onchange="batchImport2();"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
</form>
function batchImport2() {
var options = {
url : "ajax/import/",
success : function(data) {
var returnData = JSON.parse(data);
。。。。
},
resetForm : true,
};
$.("#upload-file").ajaxSubmit(options);
}
2、后台代码如下:
[java] view
plain copy
@RequestMapping(value = "......", method = RequestMethod.POST, produces = {"text/html;charset=UTF-8"})
public String upload(HttpServletRequest request,
HttpServletResponse response, @RequestParam(value = "file") MultipartFile file)
throws EncryptedDocumentException, InvalidFormatException, WrongFileException, FileRowErrorException,
Exception
{
//TODO 上传文件处理代码
return ... //json 格式的返回信息
}
注意前端代码中不能指定dataType
后台代码中一定要指定返回格式为 text/html,如果不这样做在ie9总返回值会变为下载格式
注意ajaxSubmit上传方式为异步上传,目前我没有找到同步上传的方法
options的其他参数注释如下:
http://jquery.malsup.com/form/#options-object
相关文章推荐
- jquery-form中ajaxSubmit提交文件,以及解决ie9下上传文件后自动下载问题
- 解决在Windows 2003中无法上传超过200K文件以及无法下载超过4M的文件问题
- jQuery 关于IE9上传文件无法进入后台问题的原因及解决办法
- 当上传文件的时候自动过滤掉其他格式的文件(ie8 ie9问题待解决)
- 表单包含file上传文件提交,使用ajaxSubmint或者ajaxForm 遇到的问题以及解决方法
- 解决WordPress无法上传媒体文件以及无法下载和安装主题与插件的问题
- Plupload控件在IE9下不能上传、文件尺寸为空、出现下载对话框问题解决
- jQuery 关于IE9上传文件无法进入后台问题的原因及解决办法(ajaxfileupload.js第四弹)
- 用Struts2更好的实现文件的上传、下载功能以及解决中文名称问题
- 解决post提交表单(文件上传) request.getParameter 取值为空的问题
- Asp.net输出Excel文件并且下载该文件以及某些细节问题解决
- 解决在Windows2003Server和IIS 6.0中对于上传下载文件大小限制的问题
- 解决问题:EXT4 filefield 文件上传在IE8上返回状态无效,弹出下载页面
- 解决Struts2文件下载中文名称乱码以及文件名称中包含空格问题
- struts2+extjs文件上传,提示下载问题解决
- jquery无刷新文件上传 解决IE安全性问题
- 如何在Android 模拟器上传/下载文件,解决read-Only问题?
- strusts2文件上传下载,以及二进制图片显示问题
- jsp+mysql文件上传下载方法比较(解决中文编码问题)
- 解决在Windows 2003的 IIS 6.0 中无法上传超过200K的附件以及无法下载超过4M的附件问题