作为个人工作中的笔记,不便展示全部内容。
直接展示服务层代码。
// 只展示下载文件相关的类
import javax.servlet.http.HttpServletResponse
import java.io.*
private void downloadFile(File file, HttpServletResponse response, String fileName) {
InputStream is = null;
ByteArrayOutputStream bos = null;
OutputStream os = null;
try {
is = new FileInputStream(file);
bos = new ByteArrayoutputStream();
os = response.getOutputStream();
byte[] buffer = new byte[1024];
int i = 0;
while ((i = is.read(buffer)) != -1) {
bos.write(buffer, 0, i);
}
bos.flush();
byte[] bytes = bos.toByteArray();
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
response.setHeader("Accept-Ranges", "bytes");
os.write(bytes);
os.flush();
} catch () {
// 捕获异常
} finally {
// 关闭流
}
}