MyHttpUtils.java
1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.bsth.service.schedule.utils;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
/**
* 相关Http层的util工具类。
*/
public class MyHttpUtils {
// 流输出文件
public static void responseStreamFile(HttpServletResponse response, File file) throws IOException {
// 流输出导出文件
response.setHeader("content-type", "application/octet-stream");
String fileName = file.getName();
if (MyStringUtils.isContainChinese(fileName)) {
response.setHeader("Content-Disposition", "attachment; filename*=" + URLEncoder.encode(fileName, "UTF-8"));
} else {
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
}
response.setContentType("application/octet-stream");
try (
OutputStream os = response.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(os);
InputStream is = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(is)
) {
int length;
byte[] temp = new byte[1024 * 10];
while ((length = bis.read(temp)) != -1) {
bos.write(temp, 0, length);
}
bos.flush();
}
}
}