From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-file/jnpf-file-upload/src/main/java/jnpf/upload/controller/FileUploadController.java | 128 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 128 insertions(+), 0 deletions(-)
diff --git a/jnpf-file/jnpf-file-upload/src/main/java/jnpf/upload/controller/FileUploadController.java b/jnpf-file/jnpf-file-upload/src/main/java/jnpf/upload/controller/FileUploadController.java
new file mode 100644
index 0000000..910f84d
--- /dev/null
+++ b/jnpf-file/jnpf-file-upload/src/main/java/jnpf/upload/controller/FileUploadController.java
@@ -0,0 +1,128 @@
+package jnpf.upload.controller;
+
+import feign.Response;
+import jnpf.entity.FileParameter;
+import jnpf.file.FileUploadApi;
+import jnpf.model.FileListVO;
+import jnpf.model.upload.UploadFileModel;
+import jnpf.util.*;
+import lombok.RequiredArgsConstructor;
+import org.dromara.x.file.storage.core.FileInfo;
+import org.dromara.x.file.storage.core.FileStorageService;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * 鏂囦欢涓婁紶绫�
+ *
+ * @author JNPF寮�鍙戝钩鍙扮粍
+ * @version V3.1.0
+ * @copyright 寮曡繄淇℃伅鎶�鏈湁闄愬叕鍙革紙https://www.jnpfsoft.com锛�
+ * @date 2021-07-20
+ */
+@RequestMapping(value = "/upload")
+@RestController
+@RequiredArgsConstructor
+public class FileUploadController implements FileUploadApi {
+
+ private final FileStorageService fileStorageService;
+
+ /**
+ * 鏂囦欢涓婁紶
+ *
+ * @param multipartFile
+ * @param folderName
+ * @param fileName
+ * @return
+ */
+ @Override
+ @PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+ public FileInfo uploadFile(@RequestPart("multipartFile") MultipartFile multipartFile, @RequestParam("folderName") String folderName, @RequestParam("fileName") String fileName) {
+ //鏍规嵁鏂囦欢淇濆瓨绫诲瀷閫夋嫨瀵瑰簲鐨勬柟娉�
+ try {
+ return FileUploadUtils.uploadFile(new FileParameter(folderName, fileName), multipartFile);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ @Override
+ @PostMapping(value = "/replaceFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+ public boolean replaceFile(@RequestPart("multipartFile") MultipartFile multipartFile,
+ @RequestParam("folderName") String folderName,
+ @RequestParam("fileName") String fileName) {
+ try {
+ FileInfo fileInfo = fileStorageService.of(multipartFile)
+ .setPath(folderName)
+ .setOriginalFilename(fileName)
+ .setSaveFilename(fileName)
+ .upload();
+ return fileInfo != null && fileName.equals(fileInfo.getFilename());
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ @Override
+ @NoDataSourceBind
+ @GetMapping(value = "/getByte/{fileName}/{folderName}")
+ public byte[] getByte(@PathVariable("fileName") String fileName, @PathVariable("folderName") String folderName) {
+ return FileUploadUtils.downloadFile(new FileParameter(folderName, fileName));
+ }
+
+ @Override
+ @NoDataSourceBind
+ @GetMapping(value = "/listFiles")
+ public List<FileListVO> getFileList(@RequestParam("folderName") String folderName) {
+ List<FileListVO> data = new LinkedList<>();
+ List<FileListVO> fileList = FileUploadUtils.getFileList(new FileParameter().setRemotePath(folderName).setRecursive(true));
+ for (int i = 0; i < fileList.size(); i++) {
+ FileListVO fileDetail = fileList.get(i);
+ FileListVO fileModel = new FileListVO();
+ fileModel.setFileId(i + "");
+ fileModel.setFileType(fileDetail.getFileType());
+ fileModel.setFileName(fileDetail.getFileName());
+ fileModel.setFileTime(fileDetail.getFileTime());
+ fileModel.setFileSize(fileDetail.getFileSize() == null ? "0" : String.valueOf(fileDetail.getFileSize()));
+ data.add(fileModel);
+ }
+ return data;
+ }
+
+
+
+ @Override
+ @NoDataSourceBind
+ @PostMapping("/downFile")
+ public Response downFile(@RequestBody UploadFileModel model) {
+ try {
+ FileUploadUtils.downloadFile(new FileParameter(model.getFolderName(), model.getObjectName()), ServletUtil.getResponse().getOutputStream());
+ } catch (IOException e) {
+ throw new IllegalArgumentException(e);
+ }
+ return null;
+ }
+
+ @Override
+ @GetMapping("/getFile/{fileId}")
+ public FileInfo getFile(@PathVariable("fileId") String fileId) {
+ return null;
+ }
+
+ @Override
+ @GetMapping("/getDefaultPlatform")
+ public String getDefaultPlatform() {
+ return FileUploadUtils.getDefaultPlatform();
+ }
+
+ @Override
+ @GetMapping("/getVisualList")
+ public List<FileListVO> getVisualList(@RequestParam("folderName") String folderName){
+ return FileUploadUtils.getFileList(new FileParameter().setRemotePath(folderName).setRecursive(true));
+ }
+}
--
Gitblit v1.8.0