以流的形式下载文件
因为此次文件下载要对接多种方式的,发现每种技术自带的API的最终返回结果,以及下载文件的核心方式都有区别,为了适配所有文件服务,就将文件下载 统一使用流来下载
// 设置文件名和Content-Disposition头信息
String fileName = medium.getFileName();
String substring = fileName.substring(fileName.lastIndexOf("/") + 1);
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=\"" + substring + "\"");
try (OutputStream outputStream = response.getOutputStream()) {
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
outputStream.flush();
} finally {
inputStream.close();
}