下载文件名多浏览器支持

private String getContentDisposition(String filename, String ext, HttpServletRequest req, HttpServletResponse res) throws IOException {
StringBuffer tmp = new StringBuffer();
tmp.append("attachment" );
String agent = (String)req.getHeader("USER-AGENT");
tmp.append("; filename=");
if(agent != null && agent.indexOf("Firefox") != -1 ){
//Firefox
tmp.append("=?UTF-8?B?" + (new String (Base64.getEncoder().encode(filename.getBytes("UTF-8")))) + "?=");
tmp.append(".");
tmp.append(ext);
}else if(agent != null && agent.indexOf("Chrome") != -1 ){
//Chrome
tmp.append("\""+URLEncoder.encode(filename, "UTF-8")+"" );
tmp.append(".");
tmp.append(ext+"\"");
}else if( agent != null && agent.indexOf("Safari") != -1 ){
//Safari
tmp.append("\""+new String(filename.getBytes("UTF-8"),"ISO8859_1")+"" );
tmp.append(".");
tmp.append(ext+"\"");
}else{
//IE
tmp.append(new String(filename.getBytes("gb2312"),"ISO8859_1") );
tmp.append(".");
tmp.append(ext);
}
return tmp.toString();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值