下载文件名多浏览器支持_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 下载文件名多浏览器支持

下载文件名多浏览器支持

 2016/11/29 5:32:11  西红柿超级淡  程序员俱乐部  我要评论(0)
  • 摘要:privateStringgetContentDisposition(Stringfilename,Stringext,HttpServletRequestreq,HttpServletResponseres)throwsIOException{StringBuffertmp=newStringBuffer();tmp.append("attachment");Stringagent=(String)req.getHeader("USER-AGENT");tmp.append("
  • 标签:文件 浏览 下载 浏览器 文件名
class="java" name="code">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("\""+new String(filename.getBytes("gb2312"),"ISO8859_1")+"" );
			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();
	}
发表评论
用户名: 匿名