ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhang-content/src/main/java/com/ruoyi/service/DownLoadFileService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse; import javax.websocket.server.PathParam; import com.ruoyi.service.DownLoadFileService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +35,9 @@ @Autowired private ServerConfig serverConfig; @Autowired private DownLoadFileService downLoadFileService; private static final String FILE_DELIMETER = ","; @@ -69,6 +73,12 @@ } } @GetMapping("/downLoadFile") public AjaxResult downLoadFile(@RequestParam("path") String path,HttpServletResponse response) throws Exception { return downLoadFileService.downLoadFile(path,response); } /** * 通用上传请求(单个) */ zhang-content/src/main/java/com/ruoyi/service/DownLoadFileService.java
New file @@ -0,0 +1,14 @@ package com.ruoyi.service; import com.ruoyi.common.core.domain.AjaxResult; import javax.servlet.http.HttpServletResponse; /** * @Version 1.0 * @Author Jin_quan Ou * @Date 2023-03-19 17:32 */ public interface DownLoadFileService { AjaxResult downLoadFile(String path, HttpServletResponse response); } zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java
New file @@ -0,0 +1,55 @@ package com.ruoyi.service.impl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.service.DownLoadFileService; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.io.*; /** * @Version 1.0 * @Author Jin_quan Ou * @Date 2023-03-19 17:33 */ @Service public class DownLoadFileServiceImpl implements DownLoadFileService { @Override public AjaxResult downLoadFile(String path, HttpServletResponse response) { File file = new File(path); byte[] buffer = new byte[1024]; BufferedInputStream bis = null; OutputStream os = null; try { //文件是否存在 if (file.exists()) { //设置响应 response.setContentType("application/octet-stream;charset=UTF-8"); response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.setHeader("Content-Disposition","attachment;filename="); response.setCharacterEncoding("UTF-8"); os = response.getOutputStream(); bis = new BufferedInputStream(new FileInputStream(file)); while(bis.read(buffer) != -1){ os.write(buffer); } } }catch (Exception e) { e.printStackTrace(); } finally { try { if(bis != null) { bis.close(); } if(os != null) { os.flush(); os.close(); } } catch (IOException e) { e.printStackTrace(); } } return AjaxResult.success("操作成功"); } }