package jnpf.file; import feign.Response; import jnpf.file.fallback.FileUploadApiFallback; import jnpf.model.FileListVO; import jnpf.model.upload.UploadFileModel; import jnpf.utils.FeignName; import org.dromara.x.file.storage.core.FileInfo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 文件上传API * * @author JNPF开发平台组 * @version V3.1.0 * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com) * @date 2021-07-23 */ @FeignClient(name = FeignName.FILE_SERVER_NAME, fallback = FileUploadApiFallback.class, path = "/upload") public interface FileUploadApi { /** * 文件上传 * * @param multipartFile * @param folderName * @param fileName * @return */ @PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) FileInfo uploadFile(@RequestPart("multipartFile") MultipartFile multipartFile, @RequestParam("folderName") String folderName, @RequestParam("fileName") String fileName); @GetMapping(value = "/getByte/{fileName}/{folderName}") @Deprecated byte[] getByte(@PathVariable("fileName") String fileName, @PathVariable("folderName") String folderName); /** * 获取存储桶下文件夹中的内容 * * @param folderName 存储桶名 * @return */ @GetMapping(value = "/listFiles") List getFileList(@RequestParam("folderName") String folderName); // @PostMapping("/downToLocal") // @Deprecated // void downToLocal(@RequestBody UploadFileModel model); // // @PostMapping("/downFile") // @Deprecated // void downFile(@RequestBody UploadFileModel model); @PostMapping("/downFile") Response downFile(@RequestBody UploadFileModel model); @GetMapping("/getFile/{fileId}") FileInfo getFile(@PathVariable("fileId") String fileId); @GetMapping("/getDefaultPlatform") String getDefaultPlatform(); @GetMapping("/getVisualList") List getVisualList(@RequestParam("folderName") String folderName); }