问题:解决上传文件IE浏览器弹出下载框bug?

控制器方法的返回值必须以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);

}

转载自同事工作笔记

时间: 2024-10-07 03:42:23

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

php+apache 解决上传文件过大问题

php+apache 解决上传文件过大问题 博客分类: php PHPApache 用php+apache上传文件的时候,由于文件过大,容易导致上传失败,解决办法: 修改php.ini中: upload_max_filesize  2m  即允许上传文件大小的最大值.默认为2M ,大小可以根据你                              的需要进行修改 post_max_size  20m  指通过表单POST给PHP的所能接收的最大值,包括表单里的所有             

JavaWeb项目导出Excel文件并弹出下载框

引言 在Java Web开发中经常涉及到报表,最近做的项目中需要实现将数据库中的数据显示为表格,并且实现导出为Excel文件的功能. 相关jar包 使用POI可以很好的解决Excel的导入和导出的问题,POI下载地址: poi-3.6-20091214.jar 关键代码 首先导入上述jar包. 在生成excel时一般数据源形式为一个List,下面把生成Excel格式的代码贴出来: /** * 以下为生成Excel操作 */ // 1.创建一个workbook,对应一个Excel文件 HSSFWo

easyui导出excel无法弹出下载框的解决办法

之前用ajax做的,代码如下(ActionUrl为一般处理程序ashx的路径): $.ajax({ url: ActionUrl + '?action=export&ID=' + $('#fm_ID').val(), dataType: 'json', success: function (jsonstr) { //top.art.dialog.tips('导出成功!'); } }); 没办法弹出下载框. 直接浏览器地址栏输入相关页面地址并打开可以弹出下载框下载,考虑可能是iframe的缘故.

Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框

在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作.而数据导出的格式一般是EXCEL或者PDF,我这里就用两篇文章分别给大家介绍下.(注意,我们这里说的数据导出可不是数据库中的数据导出!么误会啦^_^) 呵呵,首先我们来导出EXCEL格式的文件吧.现在主流的操作Excel文件的开源工具有很多,用得比较多的就是Apache的POI及JExcelAPI.这里我们用Apache POI!我们先去Apach

【转】php让图片弹出下载框的方法

在做图片下载站时,常常需要给用户下载图片,但图片浏览器是直接可以打开的.怎么办呢,有没有什么方法可以让图片类型的文件弹出下载框下载呢, phperz.com 当然是有的,php的header函数就可以提供这种方法 php程序员之家 以下代码你可以copy下来测式一下 www.phperz.com 以下为引用的内容:<?php$filename = "123.jpg";//图片地址,可以绝对地址也可以相对地址header("Content-Type: applicatio

springmvc导出excel并弹出下载框

加入对应的jar包,包括springmvc,poi的, spring jar包在此不列举出来,主要是poi包,如下图所示 下载地址:http://download.csdn.net/download/huawei2010_2011_2012/5034041,或者搜poi3.9 实体类: public class Project { private Integer id; private String name; private String technology;//所用技术 private S

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

环境: .net 4.0 ashx一般处理程序 使用 html5 FormData ajax上传文件 功能如下:如果用户有登录,则对文件进行处理:如果用户没登录,则直接返回json,提示用户未登录 遇到问题: 用户登录:正常 用户没登录:调试的时候,没任何异常,浏览器显示Failed to load resource: net::ERR_CONNECTION_RESET错误. 解决方法:原因找了好久,考虑到可能是文件流还没跑完,直接返回json才出错的,再代码处理处理文件流,如下所示: else

JQuery实现选择桌面照片,替换为网页背景【以及解决上传文件路径问题】

1.上传文件出现问题: 2.选择桌面文件,获取input标签的值,出现一个假的路径,这是由于浏览器的保护机制. 3.解决这个方法,自然可以取消浏览器的保护机制[*******但这不可取,所以此篇重点就出来了] 重点:4.解决获取input的file值问题. 重点js代码: //修改背景图片的方法 function changBackground(){ /** * 文件预览 */ var fileObj = document.getElementById("file_road").fil

如何解决上传文件时文件内容相同

现在有这样一个需求:要求在上传文件时,凡是上传的文件,只要内容相同就只在服务器保存一份. 如何比较文件内容?如果当时思维受限,很难想到来比较文件内容的办法. 解决办法: 文件上传,肯定少不了用流来读文件,文件内容相同的根源就是:流读出来的字节码相同.这就想到了解决的办法,可是问题又来了.怎么比较字节码?想想那么长的字节码,如果用字符串的equals方法来比较,这不是一个好的解决办法.经过一番思考,我决定把流读出来的字节码进行MD5加密,用加密后的字符串来当作文件的文件名,然后在进行文件的上传(文