`
lean1252
  • 浏览: 214093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文件下载相关代码

阅读更多
1 添加apache commons-io包
protected void download(String fileName, String fileExtension, InputStream stream) throws Exception {
		HttpServletRequest request = getRequest();
		HttpServletResponse response = getResponse();
		
		byte[] fileBytes = IOUtils.toByteArray(stream);
		String userAgent = request.getHeader("USER-AGENT");
		
		userAgent = userAgent == null ? "" : userAgent.toUpperCase();
        response.setContentType("application/x-download");
        // 根据不同浏览器进行文件名编码
        if (userAgent.indexOf("MSIE") != -1) {
            fileName = URLEncoder.encode(fileName, "UTF-8");
        }else if(userAgent.indexOf("MOZILLA") != -1){
        	fileName = "=?UTF-8?B?" + new BASE64Encoder().encode((fileName.getBytes("UTF-8"))) + "?=";
        }
        
        response.addHeader("Content-Disposition", "attachment;filename=" + fileName + "." + fileExtension);

        response.addHeader("Content-Length", String.valueOf(fileBytes.length));
        response.addHeader("Content-Transfer-Encoding", "binary");
        response.setContentType("application/octet-stream");
		response.getOutputStream().write(fileBytes);
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics