版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/edc0228/article/details/86608274
public static void download(HttpServletRequest request, HttpServletResponse response, InputStream inputStream, String fileName){
BufferedOutputStream bos = null;
try {
// 定义输出缓冲 10k
byte[] buffer = new byte[10240];
String userAgent = request.getHeader("user-agent").toLowerCase();
if (userAgent.contains("msie") || userAgent.contains("like gecko")) {
fileName = URLEncoder.encode(fileName, "UTF-8");
} else {
fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
}
response.setCharacterEncoding("utf-8");
response.setContentType("application/msword");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
bos = new BufferedOutputStream(response.getOutputStream());
int bytesRead = 0;
while ((bytesRead = inputStream.read(buffer)) != -1) {
bos.write(buffer, 0, bytesRead);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}