- 浏览: 16044 次
- 性别:
- 来自: 北京
文章分类
最新评论
SpringMVC+ajaxFileUpload上传图片 IE浏览器弹下载框问题解决方案
如题,简单记录一下这个问题的解决办法,导致问题的核心原因是:ajaxfileupload不支持响应头ContentType为application/json的设置,并且IE也不支持这种格式,而当我们用SpringMVC的@ResponseBody注解的时候会自动将响应类型设置为application/json,所以解决办法只有手动设置响应类型。
Step1 弃用@ResponseBody,通过流手动输出响应,并指定响应类型为text/html
@RequestMapping(value = "/fileImport2")
public Map<string, object=""> fileImport2(HttpServletRequest request,
HttpServletResponse response, MultipartHttpServletRequest req,
@RequestParam("filename") MultipartFile uploadFile) {
response.setContentType("text/html;charset=utf-8");
try {
// 文件上传
String updateLoadPath = FileOperateUtil.uploadExcel(req, request,
uploadFile);
String publishPath = request.getSession().getServletContext()
.getRealPath("/");
//...略
response.getWriter().write("{\"data\":\"ok\"}");
} catch (Exception e) {
e.printStackTrace();
try {
response.getWriter().write("{\"data\":\"error\"}");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return null;
}</string,>
Step2 将$.ajaxFileUpload的dataType设置为text(否则回调函数的值是[object.object])
$.ajaxFileUpload
(
{
url: postPath+"/app/studentScore/fileImport2", //用于文件上传的服务器端请求地址
secureuri: false, //是否需要安全协议,一般设置为false
fileElementId: 'filename', //文件上传域的ID
dataType: 'text', //返回值类型 一般设置为json
success: function (data) //服务器成功响应处理函数
{
alert(data);
var repObj = $.parseJSON(data);
if (repObj.data == 'ok')
{
alert("导入成功!");
}
else
{
alert("数据异常!");
}
}
}
);
问题解决了
如题,简单记录一下这个问题的解决办法,导致问题的核心原因是:ajaxfileupload不支持响应头ContentType为application/json的设置,并且IE也不支持这种格式,而当我们用SpringMVC的@ResponseBody注解的时候会自动将响应类型设置为application/json,所以解决办法只有手动设置响应类型。
Step1 弃用@ResponseBody,通过流手动输出响应,并指定响应类型为text/html
@RequestMapping(value = "/fileImport2")
public Map<string, object=""> fileImport2(HttpServletRequest request,
HttpServletResponse response, MultipartHttpServletRequest req,
@RequestParam("filename") MultipartFile uploadFile) {
response.setContentType("text/html;charset=utf-8");
try {
// 文件上传
String updateLoadPath = FileOperateUtil.uploadExcel(req, request,
uploadFile);
String publishPath = request.getSession().getServletContext()
.getRealPath("/");
//...略
response.getWriter().write("{\"data\":\"ok\"}");
} catch (Exception e) {
e.printStackTrace();
try {
response.getWriter().write("{\"data\":\"error\"}");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return null;
}</string,>
Step2 将$.ajaxFileUpload的dataType设置为text(否则回调函数的值是[object.object])
$.ajaxFileUpload
(
{
url: postPath+"/app/studentScore/fileImport2", //用于文件上传的服务器端请求地址
secureuri: false, //是否需要安全协议,一般设置为false
fileElementId: 'filename', //文件上传域的ID
dataType: 'text', //返回值类型 一般设置为json
success: function (data) //服务器成功响应处理函数
{
alert(data);
var repObj = $.parseJSON(data);
if (repObj.data == 'ok')
{
alert("导入成功!");
}
else
{
alert("数据异常!");
}
}
}
);
问题解决了
发表评论
-
简单webservice(cxf)实例
2017-04-11 08:56 344我们的环境是eclipse , maven。 在开发java ... -
网站架构之架构演化
2017-03-30 13:50 292http://www.cnblogs.com/pflee/p/ ... -
线程,
2017-03-10 09:07 268http://www.cnblogs.com/wxd0108/ ... -
springmvc<一>一种资源返回多种形式【ContentNegotiatingViewResolver】
2017-03-01 09:53 398springmvc<一>一种资源返回多种形式【Co ... -
<context-param>与<init-param>的区别与作用(转载)
2017-02-28 13:45 357<context-param>的作用: web.x ... -
sqlserver日期格式化函数
2016-09-21 10:16 427Sql Server 中一个非常强大的日期格式化函数 ... -
http://blog.csdn.net/zuoluoboy/article/details/19766131(转载)
2016-07-12 10:04 852Spring工作流程描述 ... -
玩转cookie(转载度娘http://jingyan.baidu.com/article/7c6fb4281f4e5580642c90d0.html)
2015-11-09 10:53 704怎么在java中增加一个cookie; 怎么在java中修改 ... -
jquery插件开发(http://www.poluoluo.com/jzxy/201204/163035.html)
2015-01-25 21:40 496一.介绍 插件编写的目 ... -
hibernate各种查询汇总(转载)
2014-12-23 15:16 3321. 查询整个映射对象所有字段 Java代码 // ... -
hibernate各种查询汇总(转载)
2014-12-23 15:16 01. 查询整个映射对象所有字段 Java代码 // ... -
JAVA多线程实现和应用总结(转载自http://www.cnblogs.com/yezhenhan/archive/2012/01/09/2317636.)
2014-12-22 15:27 473JAVA多线程实现和应用总 ... -
ResultSet rs 之 rs.next()(转载自百度一哥们)
2014-12-16 15:10 754ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
ResultSet rs 之 rs.next()
2014-12-16 15:10 800ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
java substring
2014-12-15 17:12 491java substring 方法 str=str.subst ... -
PLSQL插入数据中文乱码的问题(转)
2014-11-26 16:33 3892PLSQL插入数据中文乱码的问题 www.111cn.net ... -
遍历Map的四种方法 (转载)
2014-11-25 10:21 368public static void main(String[ ... -
sql执行顺序
2014-10-08 09:57 270SQL Select语句完整的执行顺序:1、from子句组装来 ... -
jms简明学习教程(转载)
2014-09-04 15:55 413基础篇 JMS是应用系统或组件之间相互通信的应用程序接口,利 ... -
MYSQL数据库事务处理和锁机制(转载)
2014-09-03 14:37 762一、数据库事务的百科 数据库事务(Database Tran ...
相关推荐
NULL 博文链接:https://cqjava.iteye.com/blog/2058912
以上是springmvc+spring+hibernate整合基于eclipse,oracle开发
完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统...
Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...
maven+springMVC+mybatis+velocity+mysql+junit项目框架搭建
基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis...
基于maven+springmvc+redis+mybatis整合案例框架,主要实现redis的读取案例
bootstrap+springMvc+spring图片上传下载,生成固定格式的json文件,以及将上传图片和json文件进行压缩打包操作
Spring+SpringMVC+Mybatis+Velocity+Maven整合
1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,...
springMVC+maven+hibernate框架,搭建的过程 可以参考 java进阶(五)------springMVC---springMVC+Hibernate+maven完整搭建运行步骤 http://blog.csdn.net/zzq900503/article/details/49892783
项目使用Spring4+SpringMVC+mysql【同时支持mybatis+hibernate两种底层操作框架】+memcached
springmvc+hibernate+oracle基础框架,项目源码和数据库脚本(dmp、sql),添加myeclipse中可以直接使用
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis).pdfSSM框架——详细整合教程(Spring+SpringMVC+MyBatis).pdf
自己做得简易 spring+springMvc+jdbc整合,可改进内容还很多,仅仅是个demo,tomcat使用的8.0
spring+springMVC+mybatis+quartz动态定时任务
搭建SSM(springMVC+spring+mybatis)框架的maven项目
table(数据列表展示)+ Bootstrap-Export(各种报表导出SQL,Excel,pdf等)框架,整合Echars,各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据...
基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis...
Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA