diff --git a/basic-util/src/main/java/ink/wgink/util/request/RequestUtil.java b/basic-util/src/main/java/ink/wgink/util/request/RequestUtil.java index 8e5cd78a..af992d0b 100644 --- a/basic-util/src/main/java/ink/wgink/util/request/RequestUtil.java +++ b/basic-util/src/main/java/ink/wgink/util/request/RequestUtil.java @@ -88,4 +88,25 @@ public class RequestUtil { } } + /** + * 下载 + * + * @param response + * @param inputStream + * @param outFileName + * @throws IOException + */ + public static void download(HttpServletResponse response, InputStream inputStream, String outFileName) throws IOException { + try (OutputStream outputStream = response.getOutputStream()) { + response.setHeader("content-type", "application/octet-stream"); + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(outFileName, "UTF-8")); + byte[] buf = new byte[1024]; + for (int readLength; (readLength = inputStream.read(buf)) > 0; ) { + outputStream.write(buf, 0, readLength); + } + outputStream.flush(); + } + } + }