Extjs 上传文件 IE不兼容的问题[提示下载保存]
来源:互联网 发布:淘宝怎么避免同款 编辑:程序博客网 时间:2024/05/22 01:32
我最不喜欢的浏览器的是IE,但无奈很多项目的客户使用的是IE.
在使用Extjs做文件上传时,其他浏览器没有问题,但IE却一个劲提示保存文件,看服务端运行,它其实是运行成功了已经,但客户端的进度条却一个劲的在加载。
原因是:
IE浏览器对Content-Type = application/json,会出现下载保存
IE浏览器对Content-Type = text/html,返回信息按html处理
所以我们需要在代码中改变response的返回值来使IE上可以正常的运行:
JS代码:
var importform = new Ext.form.FormPanel({labelAlign : 'right',fileUpload:true, items : [ {xtype : 'filefield',id:'upFile',name : 'file',fieldLabel : '导入',labelStyle : "text-align:right;",labelWidth : 50,msgTarget : 'side',allowBlank : false,anchor : '100%',buttonText : '选择文件'} ],buttonAlign : 'center',buttons : [ {text : '上传',handler : function() {if (importform.form.isValid()) {importform.getForm().submit({url : 'forecast/importForecast',waitMsg : '正在提交数据',waitTitle : '提示',success : function(response, options) {var message = options.result.message;if(message == "ok"){Ext.Msg.alert('提示', "上传成功");}else if(message == "ver"){Ext.Msg.alert('提示', "请检查版本号是否正确");}else if(message == "type"){Ext.Msg.alert('提示', "你上传的文件类型错误");}importWin.hide();deliveryStore.reload();},failure : function(response, options) {Ext.Msg.alert('失败', '导入文件失败');}});}}}, {text : '重置',handler : function() {importform.getForm().reset();}}, {text : '取消',handler : function() {importform.getForm().reset();importWin.hide();}} ]});
controller代码:
/** * 上传 即导入数据 * @param file * @param request * @param response * @return * @throws Exception */@RequestMapping(value = "/importForecast")public ResponseEntity<String> importForecast(@RequestParam MultipartFile file,HttpServletRequest request, HttpServletResponse response)throws Exception {Map<String,String> map = new HashMap();map.put("roleId", request.getSession().getAttribute("roleId").toString());String result = "";HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.setContentType(MediaType.TEXT_HTML); try {String fileName = file.getOriginalFilename();long size = file.getSize();if (!(fileName == null || fileName.equals("")) && size > 0) {DmtTsUser user = (DmtTsUser) request.getSession().getAttribute("user"); result = forecastService.importForecast(file,fileName, map);} } catch (Exception e) { e.printStackTrace(); } String json = "{\"success\":true,\"message\":\""+result+"\"}"; return new ResponseEntity<String>(json, responseHeaders, HttpStatus.OK);}
try的部分是具体的实现文件上传的代码
0 0
- Extjs 上传文件 IE不兼容的问题[提示下载保存]
- 上传文件 IE不兼容的问题[提示下载保存]
- Extjs上传图片IE提示下载json文件的解决方案
- 解决ie下ajaxsubmit上传文件提示下载文件问题
- 解决ie下ajaxsubmit上传文件提示下载文件问题
- IE下载不提示保存对话框怎么办
- 如何解决“文件上传返回JSON数据,在IE下提示下载文件”的问题?
- 如何解决“文件上传返回JSON数据,在IE下提示下载文件”的问题?
- 解决IE浏览器下上传文件返回Json数据提示下载的问题。
- struts2+extjs文件上传,提示下载问题解决
- strust2+extjs文件上传,提示下载
- ajaxSubmit 上传文件 IE下提示下载
- 解决美化后的文件上传控件(type=file),IE和firefox不兼容的问题
- jplayer不兼容IE浏览器的问题
- ajaxFileUpload上传文件时IE浏览器弹出下载提示问题处理
- Extjs上传文件时提示下载.action文…
- JAVA文件下载,IE不提示下载,直接打开的解决方法
- ie下载提示:无法下载,下载的站点不可用
- leetcode_Word Search
- static关键字用法
- PHP中用到的一些正则
- 爬虫--scrapy 初探
- 解读HTTP包
- Extjs 上传文件 IE不兼容的问题[提示下载保存]
- 数据库事务四大特性
- C语言中||\这个符号\是连接符,不是换行,
- 排序算法---希尔排序
- 利用 Process Monitor 找出某个 Windows 选项所对应的注册表值
- JSON获取数组——读完你就读懂了JSON
- integer-to-roman
- 分页集合
- Gradle Library Module的复用机制