好的,从其他浏览器下载文件时会出现一些问题。我的示例照顾了MSIE和Mozilla类型的浏览器中所需的处理
public HttpServletResponse getFile (HttpServletRequest request ,HttpServletResponse httpServletResponse, .......){ HttpServletResponse response = httpServletResponse; InputStream in = String filename = ""; String agent = request.getHeader("USER-AGENT"); if (agent != null && agent.indexOf("MSIE") != -1) { filename = URLEnprer.enpre(, "UTF8"); response.setContentType("application/x-download"); response.setHeader("Content-Disposition","attachment;filename=" + filename); } else if ( agent != null && agent.indexOf("Mozilla") != -1) { response.setCharacterEncoding("UTF-8"); filename = MimeUtility.enpreText(, "UTF8", "B"); response.setContentType("application/force-download"); response.addHeader("Content-Disposition", "attachment; filename="" + filename + """); } BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream()); byte by[] = new byte[32768]; int index = in.read(by, 0, 32768); while (index != -1) { out.write(by, 0, index); index = in.read(by, 0, 32768); } out.flush(); return response;}
看一下这个
更新
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)