import java.io.*; import java.net.URLEncoder; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public void downloadFileStream(HttpServletResponse response, String fileUrl) { try { if(StringUtils.isNoneBlank(fileUrl)) { File file = new File(fileUrl); String filename = file.getName(); // 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(fileUrl)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); response.setContentType("application/octet-stream;charset=UTF-8"); String fileName = new String(filename.getBytes("gb2312"), "iso8859-1"); response.setHeader("Content-disposition", "attachment;filename=" + fileName); OutputStream ouputStream = response.getOutputStream(); ouputStream.write(buffer); ouputStream.flush(); ouputStream.close(); } } catch (Exception e) { e.printStackTrace(); logger.error("文件下载出现异常", e); } }
08-14
1964
07-26
1万+
08-18
1053
03-04
8478