`

SpringMVC+ajaxFileUpload上传图片 IE浏览器弹下载框问题解决方案

 
阅读更多
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("数据异常!");
                        }
                }
            }
        );
问题解决了
分享到:
评论

相关推荐

    WEB文件上传之SpringMVC+ajaxfileupload使用(三)

    在本文中,我们将深入探讨如何在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后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统...

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码.zip

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...

    Spring+SpringMVC+Mybatis框架整合例子(SSM) 下载

    这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC)架构模式以及数据库操作。以下是对SSM框架整合的详细解释。 首先,Spring框架是核心,它提供了一个...

    基于SpringMVC+Spring3+Mybatis框架的OA项目.zip

    基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis...

    Spring+SpringMVC+Hibernate框架集成详解

    SpringMVC 框架提供了一个轻量级的解决方案,帮助开发人员快速构建 Web 应用程序。 在本文档中,我们将使用 SpringMVC 3.2.14 版本,使用 JDK 7u80 和 Eclipse 4.4 作为开发环境。我们首先需要添加 SpringMVC 相关...

    基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip

    1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,...

    springMVC+maven+hibernate框架

    springMVC+maven+hibernate框架,搭建的过程 可以参考 java进阶(五)------springMVC---springMVC+Hibernate+maven完整搭建运行步骤 http://blog.csdn.net/zzq900503/article/details/49892783

    Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统.rar

    各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据表格等 Oracle关系型数据库以及非关系型数据库(Redis),Oracle 性能调优(PL/SQL语言,SQL查询...

    maven+springMVC+mybatis+velocity+mysql+junit项目框架搭建

    本项目框架“maven+springMVC+mybatis+velocity+mysql+junit”提供了一种高效、灵活且可维护的解决方案。以下将详细讲解这些组件及其作用。 1. Maven: Maven是一个项目管理工具,用于构建、依赖管理和项目信息...

    基于Spring+SpringMVC+Mybatis架构的博客系统.zip

    基于Spring+SpringMVC+Mybatis架构的博客系统:博客管理、图表数据、日志分析、访问记录、图库管理、资源管理、友链通知等。良好的页面预加载,无限滚动加载,文章置顶,博主推荐等。提供 用户端+管理端 的整套系统...

    Spring+SpringMVC+Mybatis资源课件

    标题 "Spring+SpringMVC+Mybatis资源课件" 提供了一个学习路径,涉及Java开发中的三个关键组件:Spring框架、SpringMVC和Mybatis。这些技术是构建现代企业级Web应用程序的基础,尤其是在Java世界中。 Spring框架是...

    Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统

    table(数据列表展示)+ Bootstrap-Export(各种报表导出SQL,Excel,pdf等)框架,整合Echars,各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据...

    springmvc+spring+hibernate

    4. **配置Spring MVC**:创建servlet-context.xml文件,配置Spring MVC的相关组件,如DispatcherServlet、视图解析器、模型视图、拦截器等。这里需要定义Controller扫描路径,以便Spring MVC能找到处理请求的控制器...

    springmvc+spring+mybatis开发框架搭建代码,已使用,完美运行。

    SSM(Spring MVC + Spring + MyBatis)是Java Web开发中常见的三层架构组合,它将Spring MVC作为表现...同时,由于这三个组件都有良好的社区支持和丰富的扩展性,使得SSM成为了Java Web开发领域中广泛采用的解决方案。

    基于SpringMVC+Spring+MyBatis+Maven项目案例.zip

    基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis...

    SpringMvc+Spring+Mybatis+Maven+注解方式=整合

    "SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...

    Springmvc+dubbo+mybatis+mysql+redis

    标题 "Springmvc+dubbo+mybatis+mysql+redis" 描述了一个基于Java技术栈的分布式微服务架构。在这个系统中,SpringMVC作为前端控制器处理HTTP请求,Dubbo用于服务治理,MyBatis是持久层框架,MySQL是关系型数据库,...

    基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip

    基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip 完整代码,可运行 项目描述 基于SSM实现的一个个人博客系统,适合初学SSM和个人博客制作的同学学习。有了这个源码,直接买了阿里云或腾讯服务器,就可以部署...

Global site tag (gtag.js) - Google Analytics