关于IE8上传文件的一些问题
问题1:
IE8下上传完文件后,对后台返回的JSON格式的数据,浏览器提示了下载该文件。
原因是因为IE8还不支持'application/json"类型的响应。
解决方法将后台返回的JSON数据以文本的形式返回,再在前台将文本解析成JSON格式。
代码如下:
Controller:
@RequestMapping(value="/doImport",method={RequestMethod.POST},produces = "text/html;charset=UTF-8")
@ResponseBody
public String doImport(HttpServletRequest request,HttpSession session){
//TODO doImport;
}
注解里返回值转成了文本形式,并指定了编码,避免乱码。
js:
$("#uploadForm").ajaxSubmit({
url: "doImport",
type: "POST",
clearForm :true,
dataType : "text",
success: function (data) {
data = eval('(' + data + ')');
// TODO doSomething
}
});
问题二:当没有选择文件时,chrome和IE8的在后台接受到的数据也有所不同
正常选择文件上传时IE8:

不存在文件时 IE8:

这里我们上传的文件是excel,我们可以看到是否有文件上传时contentType是不同的,当没有文件上传时,显示为一个流文件。
再看chrome的表现:
正常上传时和IE8一致:

没有选择文件时:

得到的对象是一个null。
因此我们不能简单的判断对象是否为空来确定是否有文件,还要根据MulipartFile的isEmpty方法来确定
关于IE8上传文件的一些问题的更多相关文章
- IE8上传文件时文件本地路径变成"C:\fakepath\"的问题
转自:http://yunzhu.iteye.com/blog/1116893 在使用<input id="file_upl" type="file" / ...
- IE8上传文件时javascript读取文件的本地路径的问题("C:\fakepath\")的解决方案
<script type="text/javascript"> function getPath(obj) { if (obj) { ) { obj.select(); ...
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- ie8 ajaxSubmit 上传文件提示下载
转载 解决ie下ajaxsubmit上传文件提示下载文件问题 主要是应为放回类型为json,返回text/html
- ie8及其以下版本兼容性问题之input file隐藏上传文件
文件上传时,默认的file标签很难看,而且每个浏览器下都有很大差距.因此我们基本都把真正的file标签给隐藏,然后创建一个标签来替代它.但是由于IE出于安全方面的考虑上传文件时必须点击file的浏览按 ...
- 利用iframe无刷新上传文件的坑
页面里经常要用到文件上传的功能,而且要求页面不刷新,先说一下原理:页面里放一个file控件和submit按钮,外面用form表单包住,给form表单加上对应的属性值,action.method.ent ...
- IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题【转】
转自:http://www.iefans.net/ie-shangchuan-bendi-lujing-fakepath/ 在使用<input id="file_upl" t ...
- ASP.NET MVC 4 Ajax上传文件
这两天一直纠结着表单的问题.想在一个表单里实现三个功能: 输入查询条件,点击查询: 导出查询数据: 上传文件: 方法有很多,乱花渐欲迷人眼,尝试了很多,无果.大致说的是,给不同按钮写js代码,在js代 ...
- ajax+ashx 完美实现input file上传文件
1.input file 样式不能满足需求 <input type="file" value="浏览" /> IE8效果图: Firefox效 ...
随机推荐
- MyBatis 学习笔记(1)
MyBatis 的基本构成 SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成 SqlSessionFactory(工厂接口) SqlSessionFactor ...
- 3D城市
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 躁!DJ 风格 Java 桌面音乐播放器
本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 版桌面 DJ 音乐播放器. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列 ...
- Python 1基础语法三(变量和标识符的区别)
一.字面量: 就是一个一个的值,如1.2.3.‘world’,就是它自己本身表达的字面值.字面意思,在程序中可以直接使用. 二.变量(variable): 可以用来保存字面量,变量本身没有任何意思:如 ...
- Array(数组)对象-->indexOf() 方法
1.定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,即下标. 如果没有找到匹配的字符串则返回 -1. 语法: string.indexOf(searchvalue ...
- XFS文件系统的备份与恢复
永久修改主机名:hostnamectl set-hostname oldboy临时修改主机名:hostname xfsdump备份xfsdump -f 备份的文件位置 要备份的分区或者磁盘 免交互备份 ...
- H - Hamiltonian Hypercube Gym - 101170H
规律题 首先我们要知道他的顺序是怎么来的,首先当n等于1时,是0,1 当n=2时,先按照与按顺序在他们前面分别加0,即00,01,在逆序加1,即11,10 构成的顺序为00,01,11,10:往后同理 ...
- 8. react 常用组件
griddle-react react-bootstrap react-cropper core-js Material UI superagent restful-error-es6 browser ...
- 2.react-插件
PC: antd(蚂蚁金服)https://ant.design/index-cn 移动: mobile-antd(蚂蚁金服)https://mobile.ant.design =========== ...
- 一行配置美化 nginx 目录 autoindex.html
demo