控制器方法的返回值必须以String返回,再由js处理转换成json对象
 
$.ajaxFileUpload({
url: "/project/proj_conver_upload", // 需要链接到服务器地址
secureuri: false,
fileElementId: "fileBtn", // 文件选择框的id属性
data: {},
dataType: 'json', // 服务器返回的格式,可以是json
complete: function(response, status) {
var responseText = response.responseText;
if (responseText.indexOf(">") != -1&& (responseText.indexOf("PRE") != -1 || responseText.indexOf("pre") != -1)) {
responseText = responseText.substring(responseText.indexOf(">") + 1, responseText.lastIndexOf("<"));
}
var data = eval("(" + responseText + ")");//转换成json对象
 
if(data.retCode!="200"){
showWarning(data.msg);
return;
}else{
$("#avaImg").attr("src", data.results);
$("#projFileName").val(fileName);
$("#ava").val(data.results);
$("#fileBtn").css("display", "block");
$("#projFileNameSpan").html("");
}
},
error: function(data, status, e) {
console.log(data.msg);
}
});
 
 
 
服务器中控制层:
@RequestMapping(value = "/proj_conver_upload",method = RequestMethod.POST,produces = { "text/html;charset=UTF-8" })
@ResponseBody
public String projConverUpload(@RequestParam(value = "fileBtn", required = true) MultipartFile file,
HttpServletRequest request,HttpServletResponse response) throws Exception {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
long size = file.getSize()/1014/1014;
LOG.debug("logoImgSize: "+ size+"M");
if(size>=2){
return JsonHelper.toJsonString(new Result(CodeConstant.RETCODE_500, "图片附件不能大于2M"));
}
 
String fileName = file.getOriginalFilename();
if(!FileHelper.isPic(fileName)){
return JsonHelper.toJsonString(new Result(CodeConstant.RETCODE_500, "请上传正确的图片格式"));
}
fileName = UUIDFileName(file.getOriginalFilename());
FileUploadUtil.transferTo(file, getTempDic(request), fileName);
Result<String> result = new Result<String>();
result.setResults(FileConstant.TEMP_FILE_ROOT+"/"+fileName);
 
return JsonHelper.toJsonString(result);
}
转载自同事工作笔记

问题:解决上传文件IE浏览器弹出下载框bug?的更多相关文章

  1. Java浏览器弹出下载框,多个文件导出压缩包

    项目里一直有这个功能,也一直没怎么注意,今天研究了一下 依据逻辑往下走: 首先是要下载的ajax的Java方法,只有返回值需要设定一下,其他的不用管: Map<String, Object> ...

  2. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  3. 【Java】数据库查询的数据直接以指定文件类型下载到本地(弹出下载框)

    欲实现的功能目标:当点击下图的导出数据文件时弹出文件下载框,默认csv格式,用户自定义下载的本地路径 遇到的问题: 1.项目之前做过一次下载,但是是使用了本地文件模板.用输入流读取文件模板,插入数据, ...

  4. JAVA导出excel 直接弹出下载框

    转自:https://blog.csdn.net/qq_38423105/article/details/80782283 效果展示: 1.首先准备jar包 <dependency>    ...

  5. .net 上传文件 Failed to load resource: net::ERR_CONNECTION_RESET Bug 解决

    环境: .net 4.0 ashx一般处理程序 使用 html5 FormData ajax上传文件 功能如下:如果用户有登录,则对文件进行处理:如果用户没登录,则直接返回json,提示用户未登录 遇 ...

  6. java web程序上传文件,浏览器显示连接被重置

    上传文件时,到13%时浏览器显示连接被重置如图: 参考网上很多方法 比如设置server.xml 的相应大小.时间,然并没有解决问题 connectionTimeout="2000000&q ...

  7. 抛弃百度UMEditor,拥抱summernote (解决上传文件又慢又卡的问题)

    由于一些项目上的原因以及相关因素,我们使用其他富文本编辑器替代了UMEditor 本来用CKEditor,但是团队觉得使用起来很不顺手,尤其图片上传十分不爽,功能复杂但是使用起来比较麻烦 后来我们又替 ...

  8. 解决上传文件或图片时选择相同文件无法触发change事件的问题

    昨天在做一个上传文件的模块时遇到了这样的问题:打开文件一上传,上传成功后再次点击文件一,change事件无反应 <input type="file" name="f ...

  9. python+selenium:解决上传文件<input type='file'>标签属性被css的visibility隐藏导致无法定位元素的问题

    要想上传文件,需要找到在HTML中<input type="file" />这个标签,有它就可以利用send_keys上传文件,不过这里的<input>元素 ...

随机推荐

  1. 本人亲测-C#常用工具类

    /* * HTTP接口工具类 */ public class HttpUitls { /* * get请求 */ public static string Get(string Url) { //Sy ...

  2. Linux下make cmake 编译等啥意思?

    写程序大体步骤为: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执行文件,如.exe. 但如果源文件太多,一个一个编译时就会特别麻烦 ...

  3. centos7.3安装docker

    一.写随笔的原因:最近在阿里云上买了个centos7.3服务器,想将一些demo运行在上面,所以需要做一些环境的安装,通过此篇文章MAKR一下.下面来记录下安装步骤(参考网上的一些教程,有坑的话会实时 ...

  4. Delphi MainMenu组件

  5. 14、Nginx四层负载均衡

    1.Nginx四层负载均衡基本概述 1.1.什么是四层负载均衡 四层负载均衡基于传输层协议包来封装的(如:TCP/IP),那我们前面使用到的七层是指的应用层,它的组装在四层基础之上,无论四层还是七层都 ...

  6. golang 结构体嵌入和匿名成员

    考虑一个二维的绘图程序,提供了一个各种图形的库,例如矩形.椭圆形.星形和轮形等几 何形状.这里是其中两个的定义 type Circle struct { X, Y, Radius int } type ...

  7. Itextpdf + Adobe Acrobat DC填充模板生成pdf快速入门

    Itextpdf + Adobe Acrobat DC填充模板生成pdf快速入门 生成pdf有很多种方法,如通过freemarker,或 使用itextpdf.本文将使用itextpdf生成pdf 1 ...

  8. redis发布与订阅的实现

    转自:https://blog.csdn.net/xiaoyu411502/article/details/51596477

  9. 自我介绍 & 友链

    "Never say never until the very end." --Flere825 想了想其实没什么可介绍的--毕竟我这么菜也没多少人认识我qwq还是写一点吧. 某弱 ...

  10. js 代码位置不同,导致随着点击函数执行次数累加

    每个人书写代码的习惯都不同吃,思想也都不一样,但在工作中为了减少工作量与时间,难免遇到要用别人写的代码.这次在使用同事的代码中,偶然发现的问题,因为js不好,所以一眼也没发现问题所在,查了查网上才知道 ...