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 f135e486d..fced25c22 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 @@ -23,6 +23,7 @@ import com.pig4cloud.pigx.admin.api.entity.SysFile; import com.pig4cloud.pigx.admin.service.SysFileService; import com.pig4cloud.pigx.common.core.util.R; import com.pig4cloud.pigx.common.log.annotation.SysLog; +import com.pig4cloud.pigx.common.security.annotation.Inner; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -79,7 +80,7 @@ public class SysFileController { * 文件名采用uuid,避免原始文件名中带"-"符号导致下载的时候解析出现异常 * * @param file 资源 - * @return R(bucketName, filename) + * @return R(/ admin / bucketName / filename) */ @PostMapping("/upload") public R upload(@RequestParam("file") MultipartFile file) { @@ -89,13 +90,15 @@ public class SysFileController { /** * 获取文件 * + * @param bucket 桶名称 * @param fileName 文件空间/名称 * @param response * @return */ - @GetMapping("/{fileName}") - public void file(@PathVariable String fileName, HttpServletResponse response) { - sysFileService.getFile(fileName, response); + @Inner(false) + @GetMapping("/{bucket}/{fileName}") + public void file(@PathVariable String bucket, @PathVariable String fileName, HttpServletResponse response) { + sysFileService.getFile(bucket, fileName, response); } } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java index 7bf2aeec7..292670ee4 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java @@ -43,10 +43,11 @@ public interface SysFileService extends IService { /** * 读取文件 * - * @param fileName - * @param response + * @param bucket 桶名称 + * @param fileName 文件名称 + * @param response 输出流 */ - void getFile(String fileName, HttpServletResponse response); + void getFile(String bucket, String fileName, HttpServletResponse response); /** * 删除文件 diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java index 26f7f9f95..f09601886 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java @@ -65,6 +65,7 @@ public class SysFileServiceImpl extends ServiceImpl impl Map resultMap = new HashMap<>(4); resultMap.put("bucketName", CommonConstants.BUCKET_NAME); resultMap.put("fileName", fileName); + resultMap.put("url", String.format("/admin/sys-file/%s/%s", CommonConstants.BUCKET_NAME, fileName)); try { minioTemplate.putObject(CommonConstants.BUCKET_NAME, fileName, file.getInputStream()); @@ -80,14 +81,13 @@ public class SysFileServiceImpl extends ServiceImpl impl /** * 读取文件 * + * @param bucket * @param fileName * @param response */ @Override - public void getFile(String fileName, HttpServletResponse response) { - int separator = fileName.lastIndexOf(StrUtil.DASHED); - try (InputStream inputStream = minioTemplate.getObject(fileName.substring(0, separator), - fileName.substring(separator + 1))) { + public void getFile(String bucket, String fileName, HttpServletResponse response) { + try (InputStream inputStream = minioTemplate.getObject(bucket, fileName)) { response.setContentType("application/octet-stream; charset=UTF-8"); IoUtil.copy(inputStream, response.getOutputStream()); } catch (Exception e) {