Java实现文件下载
Java实现文件下载
@GetMapping("/getFile")
public Boolean getFile(HttpServletResponse response) throws IOException {
//文件路径
final String filePath = "E:/test.log";
String uuid = UUID.randomUUID().toString() + ".log";
// 设置响应头和客户端保存文件名
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition",
"attachment;fileName=" + new String(uuid.getBytes("UTF-8"), "iso-8859-1"));
// 打开本地文件流
InputStream inputStream = new FileInputStream(filePath);
// 激活下载操作
OutputStream os = response.getOutputStream();
try {
// 循环写入输出流 10KB
byte[] b = new byte[10 * 1024 * 8];
int length;
while ((length = inputStream.read(b)) > 0) {
os.write(b, 0, length);
os.flush();
}
return true;
} catch (Exception e) {
throw e;
} finally {
os.close();
inputStream.close();
}
}