From 6b5251da83493f664e3b088156ed06d755f6c8f5 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Tue, 27 Aug 2024 10:16:49 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E7=B1=BB=E7=9A=84=E8=8E=B7=E5=8F=96=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9B=B8=E5=AF=B9=E8=B7=AF=E5=BE=84=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20=E6=96=B0=E5=A2=9E=20=E8=8E=B7=E5=8F=96=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=99=84=E4=BB=B6=E9=85=8D=E7=BD=AE=E7=B1=BB=20Shiro?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E5=99=A8=E9=85=8D=E7=BD=AE=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=20=E8=BF=87=E6=BB=A4=20/attachments/=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=B9=20=E4=BF=AE=E6=94=B9=E9=94=80=E5=94=AE=E5=87=BA?= =?UTF-8?q?=E8=B4=A7=E5=8D=95=E7=9A=84=E6=89=80=E6=9C=89=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E7=BB=9F=E4=B8=80=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8B=E8=BD=BD=E7=B1=BB=E7=9A=84=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=96=87=E4=BB=B6=E7=9B=B8=E5=AF=B9=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E6=B3=95=20=E4=BF=AE=E6=94=B9/attachments/?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84:=20=E7=94=B1resources?= =?UTF-8?q?=E4=B8=8B=E9=9D=A2->=E7=A7=BB=E5=8A=A8=E5=88=B0static=E4=B8=8B?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SysSalesShippingInformServiceImpl.java | 8 +++---- .../FinancialReceiptVoucherTemplate.xlsx | Bin .../{ => static}/attachments/test.docx | 0 .../attachments/出货通知单.xlsx | Bin .../attachments/采购合同.docx | Bin .../attachments/销售出货单1.xlsx | Bin .../attachments/销售出货单2.xlsx | Bin .../attachments/销售出货箱单1.xlsx | Bin .../attachments/销售出货箱单2.xlsx | Bin .../common/utils/file/FileDownloadUtils.java | 15 +++++++------ .../framework/config/FilePathConfig.java | 20 ++++++++++++++++++ .../ruoyi/framework/config/ShiroConfig.java | 3 +++ 12 files changed, 36 insertions(+), 10 deletions(-) rename ruoyi-admin/src/main/resources/{ => static}/attachments/FinancialReceiptVoucherTemplate.xlsx (100%) rename ruoyi-admin/src/main/resources/{ => static}/attachments/test.docx (100%) rename ruoyi-admin/src/main/resources/{ => static}/attachments/出货通知单.xlsx (100%) rename ruoyi-admin/src/main/resources/{ => static}/attachments/采购合同.docx (100%) rename ruoyi-admin/src/main/resources/{ => static}/attachments/销售出货单1.xlsx (100%) rename ruoyi-admin/src/main/resources/{ => static}/attachments/销售出货单2.xlsx (100%) rename ruoyi-admin/src/main/resources/{ => static}/attachments/销售出货箱单1.xlsx (100%) rename ruoyi-admin/src/main/resources/{ => static}/attachments/销售出货箱单2.xlsx (100%) create mode 100644 ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilePathConfig.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java index 6b13cd38..981987e2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java @@ -393,7 +393,7 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor FileDownloadUtils fileDownloadUtils = new FileDownloadUtils(); try { - String fileAbsolutePath = fileDownloadUtils.getFileAbsolutePath(fileName); + String fileAbsolutePath = fileDownloadUtils.getFileRelativePath(fileName); SysSalesShippingInform salesShippingInform = sysSalesShippingInformMapper.selectSysSalesShippingInformByCode(outOrderCode); @@ -462,7 +462,7 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor FileDownloadUtils fileDownloadUtils = new FileDownloadUtils(); try { - String fileAbsolutePath = fileDownloadUtils.getFileAbsolutePath(fileName); + String fileAbsolutePath = fileDownloadUtils.getFileRelativePath(fileName); SysSalesShippingInform salesShippingInform = sysSalesShippingInformMapper.selectSysSalesShippingInformByCode(outOrderCode); @@ -535,7 +535,7 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor FileDownloadUtils fileDownloadUtils = new FileDownloadUtils(); try { - String fileRelativePath = fileDownloadUtils.getFileAbsolutePath(fileName); + String fileRelativePath = fileDownloadUtils.getFileRelativePath(fileName); SysSalesShippingInform sysSalesShippingInform = sysSalesShippingInformMapper.selectSysSalesShippingInformByCode(outOrderCode); @@ -606,7 +606,7 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor FileDownloadUtils fileDownloadUtils = new FileDownloadUtils(); try { - String fileRelativePath = fileDownloadUtils.getFileAbsolutePath(fileName); + String fileRelativePath = fileDownloadUtils.getFileRelativePath(fileName); SysSalesShippingInform sysSalesShippingInform = sysSalesShippingInformMapper.selectSysSalesShippingInformByCode(outOrderCode); diff --git a/ruoyi-admin/src/main/resources/attachments/FinancialReceiptVoucherTemplate.xlsx b/ruoyi-admin/src/main/resources/static/attachments/FinancialReceiptVoucherTemplate.xlsx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/FinancialReceiptVoucherTemplate.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/FinancialReceiptVoucherTemplate.xlsx diff --git a/ruoyi-admin/src/main/resources/attachments/test.docx b/ruoyi-admin/src/main/resources/static/attachments/test.docx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/test.docx rename to ruoyi-admin/src/main/resources/static/attachments/test.docx diff --git a/ruoyi-admin/src/main/resources/attachments/出货通知单.xlsx b/ruoyi-admin/src/main/resources/static/attachments/出货通知单.xlsx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/出货通知单.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/出货通知单.xlsx diff --git a/ruoyi-admin/src/main/resources/attachments/采购合同.docx b/ruoyi-admin/src/main/resources/static/attachments/采购合同.docx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/采购合同.docx rename to ruoyi-admin/src/main/resources/static/attachments/采购合同.docx diff --git a/ruoyi-admin/src/main/resources/attachments/销售出货单1.xlsx b/ruoyi-admin/src/main/resources/static/attachments/销售出货单1.xlsx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/销售出货单1.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/销售出货单1.xlsx diff --git a/ruoyi-admin/src/main/resources/attachments/销售出货单2.xlsx b/ruoyi-admin/src/main/resources/static/attachments/销售出货单2.xlsx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/销售出货单2.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/销售出货单2.xlsx diff --git a/ruoyi-admin/src/main/resources/attachments/销售出货箱单1.xlsx b/ruoyi-admin/src/main/resources/static/attachments/销售出货箱单1.xlsx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/销售出货箱单1.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/销售出货箱单1.xlsx diff --git a/ruoyi-admin/src/main/resources/attachments/销售出货箱单2.xlsx b/ruoyi-admin/src/main/resources/static/attachments/销售出货箱单2.xlsx similarity index 100% rename from ruoyi-admin/src/main/resources/attachments/销售出货箱单2.xlsx rename to ruoyi-admin/src/main/resources/static/attachments/销售出货箱单2.xlsx diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileDownloadUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileDownloadUtils.java index a3788b23..7788b691 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileDownloadUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileDownloadUtils.java @@ -14,6 +14,8 @@ import java.nio.file.Paths; public class FileDownloadUtils { + private static final String FILE_PATH_PATH = "/static/attachments/"; + // 获取文件绝对路径 public String getFileAbsolutePath(String fileName) throws IOException { @@ -25,13 +27,14 @@ public class FileDownloadUtils { - //获取文件的相对路径 - public String getFileRelativePath(String fileName) throws IOException { - ClassPathResource resource = new ClassPathResource("attachments/" + fileName); - Path path = Paths.get(resource.getURI()); - File file = path.toFile(); - return file.getPath(); + public String getFileRelativePath(String fileName){ + ClassPathResource resource = new ClassPathResource(FILE_PATH_PATH + fileName); + try { + return resource.getFile().getAbsolutePath(); + } catch (IOException e) { + throw new RuntimeException("无法获取文件绝对路径", e); + } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilePathConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilePathConfig.java new file mode 100644 index 00000000..13331014 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilePathConfig.java @@ -0,0 +1,20 @@ +package com.ruoyi.framework.config; + + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** +* 获取文件附件配置类 +* */ +@Configuration +public class FilePathConfig implements WebMvcConfigurer{ + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + + //附件文件都在静态目录static下存放 + registry.addResourceHandler("/attachments/**").addResourceLocations("classpath:/static/attachments/"); + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java index 0cdbcc1c..ea8433be 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java @@ -255,6 +255,9 @@ public class ShiroConfig LinkedHashMap filterChainDefinitionMap = new LinkedHashMap<>(); // 对静态资源设置匿名访问 filterChainDefinitionMap.put("/favicon.ico**", "anon"); + + filterChainDefinitionMap.put("/attachments/**", "anon"); + filterChainDefinitionMap.put("/ruoyi.png**", "anon"); filterChainDefinitionMap.put("/html/**", "anon"); filterChainDefinitionMap.put("/css/**", "anon");