- 浏览: 16899 次
- 性别:
- 来自: 北京
文章分类
最新评论
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 383我们的环境是eclipse , maven。 在开发java ... -
网站架构之架构演化
2017-03-30 13:50 325http://www.cnblogs.com/pflee/p/ ... -
线程,
2017-03-10 09:07 332http://www.cnblogs.com/wxd0108/ ... -
springmvc<一>一种资源返回多种形式【ContentNegotiatingViewResolver】
2017-03-01 09:53 430springmvc<一>一种资源返回多种形式【Co ... -
<context-param>与<init-param>的区别与作用(转载)
2017-02-28 13:45 391<context-param>的作用: web.x ... -
sqlserver日期格式化函数
2016-09-21 10:16 464Sql Server 中一个非常强大的日期格式化函数 ... -
http://blog.csdn.net/zuoluoboy/article/details/19766131(转载)
2016-07-12 10:04 881Spring工作流程描述 ... -
玩转cookie(转载度娘http://jingyan.baidu.com/article/7c6fb4281f4e5580642c90d0.html)
2015-11-09 10:53 739怎么在java中增加一个cookie; 怎么在java中修改 ... -
jquery插件开发(http://www.poluoluo.com/jzxy/201204/163035.html)
2015-01-25 21:40 526一.介绍 插件编写的目 ... -
hibernate各种查询汇总(转载)
2014-12-23 15:16 3631. 查询整个映射对象所有字段 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 512JAVA多线程实现和应用总 ... -
ResultSet rs 之 rs.next()(转载自百度一哥们)
2014-12-16 15:10 816ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
ResultSet rs 之 rs.next()
2014-12-16 15:10 835ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
java substring
2014-12-15 17:12 523java substring 方法 str=str.subst ... -
PLSQL插入数据中文乱码的问题(转)
2014-11-26 16:33 3935PLSQL插入数据中文乱码的问题 www.111cn.net ... -
遍历Map的四种方法 (转载)
2014-11-25 10:21 402public static void main(String[ ... -
sql执行顺序
2014-10-08 09:57 308SQL Select语句完整的执行顺序:1、from子句组装来 ... -
jms简明学习教程(转载)
2014-09-04 15:55 441基础篇 JMS是应用系统或组件之间相互通信的应用程序接口,利 ... -
MYSQL数据库事务处理和锁机制(转载)
2014-09-03 14:37 795一、数据库事务的百科 数据库事务(Database Tran ...
相关推荐
在本文中,我们将深入探讨如何在Web应用中实现文件上传功能,特别关注SpringMVC框架与AJAXFileUpload库的整合。SpringMVC是Java Web开发中的一个强大框架,而AJAXFileUpload则是一个用于异步文件上传的JavaScript库...
完善的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+...
这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC)架构模式以及数据库操作。以下是对SSM框架整合的详细解释。 首先,Spring框架是核心,它提供了一个...
基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis...
SpringMVC 框架提供了一个轻量级的解决方案,帮助开发人员快速构建 Web 应用程序。 在本文档中,我们将使用 SpringMVC 3.2.14 版本,使用 JDK 7u80 和 Eclipse 4.4 作为开发环境。我们首先需要添加 SpringMVC 相关...
1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,...
springMVC+maven+hibernate框架,搭建的过程 可以参考 java进阶(五)------springMVC---springMVC+Hibernate+maven完整搭建运行步骤 http://blog.csdn.net/zzq900503/article/details/49892783
各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据表格等 Oracle关系型数据库以及非关系型数据库(Redis),Oracle 性能调优(PL/SQL语言,SQL查询...
本项目框架“maven+springMVC+mybatis+velocity+mysql+junit”提供了一种高效、灵活且可维护的解决方案。以下将详细讲解这些组件及其作用。 1. Maven: Maven是一个项目管理工具,用于构建、依赖管理和项目信息...
基于Spring+SpringMVC+Mybatis架构的博客系统:博客管理、图表数据、日志分析、访问记录、图库管理、资源管理、友链通知等。良好的页面预加载,无限滚动加载,文章置顶,博主推荐等。提供 用户端+管理端 的整套系统...
标题 "Spring+SpringMVC+Mybatis资源课件" 提供了一个学习路径,涉及Java开发中的三个关键组件:Spring框架、SpringMVC和Mybatis。这些技术是构建现代企业级Web应用程序的基础,尤其是在Java世界中。 Spring框架是...
table(数据列表展示)+ Bootstrap-Export(各种报表导出SQL,Excel,pdf等)框架,整合Echars,各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据...
4. **配置Spring MVC**:创建servlet-context.xml文件,配置Spring MVC的相关组件,如DispatcherServlet、视图解析器、模型视图、拦截器等。这里需要定义Controller扫描路径,以便Spring MVC能找到处理请求的控制器...
SSM(Spring MVC + Spring + MyBatis)是Java Web开发中常见的三层架构组合,它将Spring MVC作为表现...同时,由于这三个组件都有良好的社区支持和丰富的扩展性,使得SSM成为了Java Web开发领域中广泛采用的解决方案。
基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis...
"SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...
标题 "Springmvc+dubbo+mybatis+mysql+redis" 描述了一个基于Java技术栈的分布式微服务架构。在这个系统中,SpringMVC作为前端控制器处理HTTP请求,Dubbo用于服务治理,MyBatis是持久层框架,MySQL是关系型数据库,...
基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip 完整代码,可运行 项目描述 基于SSM实现的一个个人博客系统,适合初学SSM和个人博客制作的同学学习。有了这个源码,直接买了阿里云或腾讯服务器,就可以部署...