From fa32a643c7792ae1232da08ce8349269e16b9c7e Mon Sep 17 00:00:00 2001 From: YLC8E <382170522@qq.com> Date: Thu, 7 Oct 2021 13:38:57 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20Introducing=20new=20features.=20co?= =?UTF-8?q?mmon-excel=20=E4=B8=8B=E8=BD=BD=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pigx-upms/pigx-upms-biz/pom.xml | 18 ++++++++++++++++++ .../admin/controller/SysFileController.java | 16 ++++++++++++++++ .../src/main/resources/file/user.xlsx | Bin 0 -> 8835 bytes 3 files changed, 34 insertions(+) create mode 100644 pigx-upms/pigx-upms-biz/src/main/resources/file/user.xlsx diff --git a/pigx-upms/pigx-upms-biz/pom.xml b/pigx-upms/pigx-upms-biz/pom.xml index 67c6966a8..a469f02c1 100644 --- a/pigx-upms/pigx-upms-biz/pom.xml +++ b/pigx-upms/pigx-upms-biz/pom.xml @@ -133,6 +133,24 @@ + + + src/main/resources + true + + **/*.xlsx + **/*.xls + + + + src/main/resources + false + + **/*.xlsx + **/*.xls + + + diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java index bbe3c4c81..255ce1166 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java @@ -17,6 +17,7 @@ package com.pig4cloud.pigx.admin.controller; +import cn.hutool.core.io.IoUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pig4cloud.pigx.admin.api.entity.SysFile; @@ -27,6 +28,8 @@ import com.pig4cloud.pigx.common.security.annotation.Inner; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import lombok.SneakyThrows; +import org.springframework.core.io.ClassPathResource; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -95,4 +98,17 @@ public class SysFileController { sysFileService.getFile(bucket, fileName, response); } + /** + * 获取本地(resources)文件 + * @param fileName 文件名称 + * @param response 本地文件 + */ + @SneakyThrows + @GetMapping("/local/{fileName}") + public void localFile(@PathVariable String fileName, HttpServletResponse response) { + ClassPathResource resource = new ClassPathResource("file/" + fileName); + response.setContentType("application/octet-stream; charset=UTF-8"); + IoUtil.copy(resource.getInputStream(), response.getOutputStream()); + } + } diff --git a/pigx-upms/pigx-upms-biz/src/main/resources/file/user.xlsx b/pigx-upms/pigx-upms-biz/src/main/resources/file/user.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c8a427ddefc195d74bceeb49e84a75ff27d95681 GIT binary patch literal 8835 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