From 477d9e959a53049af2e02d3de418548db7f4561b Mon Sep 17 00:00:00 2001 From: dftre <3066417822@qq.com> Date: Thu, 14 Nov 2024 14:37:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=80=E4=B8=AA=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/utils/file/FileOperateUtils.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileOperateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileOperateUtils.java index b116d2d..c01aad5 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileOperateUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileOperateUtils.java @@ -5,16 +5,20 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import org.springframework.http.MediaType; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.domain.entity.FileEntity; import com.ruoyi.common.service.file.FileService; import com.ruoyi.common.utils.CacheUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.sign.Md5Utils; import com.ruoyi.common.utils.spring.SpringUtils; +import jakarta.servlet.http.HttpServletResponse; + /** * 文件上传工具类 * @@ -87,7 +91,7 @@ public class FileOperateUtils { * @throws IOException */ public static final String upload(String baseDir, String fileName, MultipartFile file, - String[] allowedExtension) + String[] allowedExtension) throws IOException { try { String filePath = baseDir + File.separator + fileName; @@ -110,6 +114,24 @@ public class FileOperateUtils { FileUtils.writeBytes(inputStream, outputStream); } + /** + * 根据文件路径下载 + * + * @param filepath 下载文件路径 + * @param response 相应 + * @return 文件名称 + * @throws IOException + */ + public static final void downLoad(String filepath, HttpServletResponse response) throws Exception { + FileEntity fileEntity = fileService.getFile(filepath); + InputStream inputStream = fileEntity.getFileInputSteam(); + OutputStream outputStream = response.getOutputStream(); + FileUtils.setAttachmentResponseHeader(response, FileUtils.getName(fileEntity.getFilePath())); + response.setContentLengthLong(fileEntity.getByteCount()); + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + FileUtils.writeBytes(inputStream, outputStream); + } + /** * 根据文件路径删除 *