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");