From 47afaba8cd00ec397f537588034e33d00390cb7e Mon Sep 17 00:00:00 2001 From: wanggeng888 <450292408@qq.com> Date: Sat, 17 Apr 2021 12:53:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=EF=BC=8C?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/base/DefaultBaseController.java | 7 +- .../wgink/common/base/DefaultBaseService.java | 8 +- .../api/appsign/AppSignAppController.java} | 7 +- .../file/controller/api/FileController.java | 32 +++-- .../controller/app/api/FileAppController.java | 21 ++-- .../controller/route/FileRouteController.java | 26 +++- .../wechat/FileWechatController.java | 115 ------------------ .../module/file/service/IFileService.java | 8 +- .../file/service/impl/FileServiceImpl.java | 8 +- 9 files changed, 83 insertions(+), 149 deletions(-) rename login-app/src/main/java/ink/wgink/login/app/controller/{api/appsign/AppSignController.java => app/api/appsign/AppSignAppController.java} (92%) delete mode 100644 module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java diff --git a/common/src/main/java/ink/wgink/common/base/DefaultBaseController.java b/common/src/main/java/ink/wgink/common/base/DefaultBaseController.java index 06c001d1..9f02df7c 100644 --- a/common/src/main/java/ink/wgink/common/base/DefaultBaseController.java +++ b/common/src/main/java/ink/wgink/common/base/DefaultBaseController.java @@ -27,6 +27,7 @@ import springfox.documentation.spring.web.DocumentationCache; import springfox.documentation.swagger2.mappers.ServiceModelToSwagger2Mapper; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.net.URLDecoder; import java.util.ArrayList; @@ -46,7 +47,11 @@ public class DefaultBaseController { protected static final Logger LOG = LoggerFactory.getLogger(DefaultBaseController.class); @Autowired - private HttpSession httpSession; + protected HttpSession httpSession; + @Autowired + protected HttpServletRequest httpServletRequest; + @Autowired + protected HttpServletResponse httpServletResponse; /** * 获取请求参数 diff --git a/common/src/main/java/ink/wgink/common/base/DefaultBaseService.java b/common/src/main/java/ink/wgink/common/base/DefaultBaseService.java index e1fbcd56..c294d5eb 100644 --- a/common/src/main/java/ink/wgink/common/base/DefaultBaseService.java +++ b/common/src/main/java/ink/wgink/common/base/DefaultBaseService.java @@ -19,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.*; @@ -36,7 +38,11 @@ public class DefaultBaseService { @Autowired protected SecurityComponent securityComponent; @Autowired - private HttpSession httpSession; + protected HttpSession httpSession; + @Autowired + protected HttpServletRequest httpServletRequest; + @Autowired + protected HttpServletResponse httpServletResponse; /** * 设置新增基础数据 diff --git a/login-app/src/main/java/ink/wgink/login/app/controller/api/appsign/AppSignController.java b/login-app/src/main/java/ink/wgink/login/app/controller/app/api/appsign/AppSignAppController.java similarity index 92% rename from login-app/src/main/java/ink/wgink/login/app/controller/api/appsign/AppSignController.java rename to login-app/src/main/java/ink/wgink/login/app/controller/app/api/appsign/AppSignAppController.java index 57940c68..0eb0ea34 100644 --- a/login-app/src/main/java/ink/wgink/login/app/controller/api/appsign/AppSignController.java +++ b/login-app/src/main/java/ink/wgink/login/app/controller/app/api/appsign/AppSignAppController.java @@ -1,6 +1,7 @@ -package ink.wgink.login.app.controller.api.appsign; +package ink.wgink.login.app.controller.app.api.appsign; import ink.wgink.annotation.CheckRequestBodyAnnotation; +import ink.wgink.common.base.DefaultBaseController; import ink.wgink.exceptions.ParamsException; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.login.app.pojo.vos.appsign.AppLoginDefaultVO; @@ -19,6 +20,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; + /** * When you feel like quitting. Think about why you started * 当你想要放弃的时候,想想当初你为何开始 @@ -32,7 +35,7 @@ import org.springframework.web.bind.annotation.RestController; @Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "登录") @RestController @RequestMapping(ISystemConstant.APP_PREFIX + "/sign") -public class AppSignController { +public class AppSignAppController extends DefaultBaseController { @Autowired private IAppSignService appSignService; diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java b/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java index e8d15b82..0527bde7 100644 --- a/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java +++ b/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java @@ -17,12 +17,14 @@ import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.concurrent.Callable; /** * @ClassName: FileController @@ -79,9 +81,9 @@ public class FileController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadfile") - public SuccessResultData uploadFile(@RequestParam("file") MultipartFile file) { + public Callable> uploadFile(@RequestParam("file") MultipartFile file) { Map params = requestParams(); - return uploadSingle(file, UploadTypeEnum.FILE, params); + return asyncUploadSingle(file, UploadTypeEnum.FILE, params); } @ApiOperation(value = "上传图片", notes = "上传图片接口") @@ -90,9 +92,9 @@ public class FileController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadimage") - public SuccessResultData uploadImage(@RequestParam("image") MultipartFile image) { + public Callable> uploadImage(@RequestParam("image") MultipartFile image) { Map params = requestParams(); - return uploadSingle(image, UploadTypeEnum.IMAGE, params); + return asyncUploadSingle(image, UploadTypeEnum.IMAGE, params); } @ApiOperation(value = "上传视频", notes = "上传视频接口") @@ -101,12 +103,12 @@ public class FileController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadvideo") - public SuccessResultData uploadVideo(@RequestParam("video") MultipartFile video) { + public Callable> uploadVideo(@RequestParam("video") MultipartFile video) { if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getBackend() != null) { fileService.checkVideoDurationAllow(video, fileProperties.getMediaMaxDuration().getBackend().getVideo()); } Map params = requestParams(); - return uploadSingle(video, UploadTypeEnum.VIDEO, params); + return asyncUploadSingle(video, UploadTypeEnum.VIDEO, params); } @ApiOperation(value = "上传音频", notes = "上传音频接口") @@ -115,12 +117,12 @@ public class FileController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadaudio") - public SuccessResultData uploadAudio(@RequestParam("audio") MultipartFile audio) { + public Callable> uploadAudio(@RequestParam("audio") MultipartFile audio) { if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getBackend() != null) { fileService.checkAudioDurationAllow(audio, fileProperties.getMediaMaxDuration().getBackend().getAudio()); } Map params = requestParams(); - return uploadSingle(audio, UploadTypeEnum.AUDIO, params); + return asyncUploadSingle(audio, UploadTypeEnum.AUDIO, params); } @ApiOperation(value = "文件列表", notes = "文件列表接口") @@ -142,7 +144,19 @@ public class FileController extends DefaultBaseController { * @return */ private SuccessResultData uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) { - return fileService.uploadSingle(uploadFile, uploadTypeEnum, params); + return new SuccessResultData<>(fileService.uploadSingle(uploadFile, uploadTypeEnum, params)); + } + + /** + * 异步上传 + * + * @param uploadFile + * @param uploadTypeEnum + * @param params + * @return + */ + private Callable> asyncUploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) { + return () -> new SuccessResultData<>(fileService.uploadSingle(uploadFile, uploadTypeEnum, params)); } /** diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java b/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java index a9b01ab2..4e9c1ef6 100644 --- a/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java +++ b/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java @@ -18,6 +18,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.concurrent.Callable; /** * When you feel like quitting. Think about why you started @@ -46,9 +47,9 @@ public class FileAppController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadfile") - public SuccessResultData uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) { + public Callable> uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) { Map params = requestParams(); - return uploadSingle(token, file, UploadTypeEnum.FILE, params); + return asyncUploadSingle(token, file, UploadTypeEnum.FILE, params); } @ApiOperation(value = "上传图片", notes = "上传图片接口") @@ -58,9 +59,9 @@ public class FileAppController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadimage") - public SuccessResultData uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) { + public Callable> uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) { Map params = requestParams(); - return uploadSingle(token, image, UploadTypeEnum.IMAGE, params); + return asyncUploadSingle(token, image, UploadTypeEnum.IMAGE, params); } @ApiOperation(value = "上传视频", notes = "上传视频接口") @@ -70,12 +71,12 @@ public class FileAppController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadvideo") - public SuccessResultData uploadVideo(@RequestHeader("token") String token, @RequestParam("video") MultipartFile video) { + public Callable> uploadVideo(@RequestHeader("token") String token, @RequestParam("video") MultipartFile video) { if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getApp() != null) { fileService.checkVideoDurationAllow(video, fileProperties.getMediaMaxDuration().getApp().getVideo()); } Map params = requestParams(); - return uploadSingle(token, video, UploadTypeEnum.VIDEO, params); + return asyncUploadSingle(token, video, UploadTypeEnum.VIDEO, params); } @ApiOperation(value = "上传音频", notes = "上传音频接口") @@ -85,12 +86,12 @@ public class FileAppController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("uploadaudio") - public SuccessResultData uploadAudio(@RequestHeader("token") String token, @RequestParam("audio") MultipartFile audio) { + public Callable> uploadAudio(@RequestHeader("token") String token, @RequestParam("audio") MultipartFile audio) { if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getApp() != null) { fileService.checkAudioDurationAllow(audio, fileProperties.getMediaMaxDuration().getApp().getAudio()); } Map params = requestParams(); - return uploadSingle(token, audio, UploadTypeEnum.AUDIO, params); + return asyncUploadSingle(token, audio, UploadTypeEnum.AUDIO, params); } @ApiOperation(value = "上传图片", notes = "上传图片接口") @@ -122,8 +123,8 @@ public class FileAppController extends DefaultBaseController { * @param params * @return */ - private SuccessResultData uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) { - return fileService.uploadSingle(token, uploadFile, uploadTypeEnum, params); + private Callable> asyncUploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) { + return () -> new SuccessResultData<>(fileService.uploadSingle(token, uploadFile, uploadTypeEnum, params)); } } diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java b/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java index c9af792f..4a23637c 100644 --- a/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java +++ b/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java @@ -15,9 +15,11 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; +import javax.servlet.AsyncContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; +import java.util.concurrent.CompletableFuture; /** * @ClassName: FileController @@ -118,17 +120,35 @@ public class FileRouteController extends DefaultBaseController { }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("download/{isOpen}/{fileId}") - public void downLoad(HttpServletRequest request, HttpServletResponse response, @PathVariable("isOpen") String isOpen, @PathVariable("fileId") String fileId) { - if (!ISystemConstant.IS_TRUE.equals(isOpen) && !ISystemConstant.IS_FALSE.equals(isOpen)) { + public void downLoad(HttpServletRequest request, HttpServletResponse response, @PathVariable("isOpen") Boolean isOpen, @PathVariable("fileId") String fileId) { + // 开启异步处理 + AsyncContext asyncContext = request.startAsync(request, response); + CompletableFuture.runAsync(() -> { + asyncDownload(asyncContext, (HttpServletRequest) asyncContext.getRequest(), (HttpServletResponse) asyncContext.getResponse(), isOpen, fileId); + }); + } + + /** + * 异步下载文件 + * + * @param asyncContext + * @param request + * @param response + * @param isOpen + * @param fileId + */ + private void asyncDownload(AsyncContext asyncContext, HttpServletRequest request, HttpServletResponse response, Boolean isOpen, String fileId) { + if (isOpen == null) { throw new ParamsException("参数错误"); } if (fileId.indexOf(".") > 0) { fileId = fileId.split("\\.")[0]; } - Map params = requestParams(); + Map params = getParams(); params.put("fileId", fileId); params.put("isOpen", isOpen); fileService.downLoadFile(request, response, params); + asyncContext.complete(); } /** diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java b/module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java deleted file mode 100644 index f03bbd03..00000000 --- a/module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java +++ /dev/null @@ -1,115 +0,0 @@ -package ink.wgink.module.file.controller.wechat; - -import ink.wgink.common.base.DefaultBaseController; -import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.properties.FileProperties; -import ink.wgink.module.file.enums.UploadTypeEnum; -import ink.wgink.module.file.pojo.dtos.FileDTO; -import ink.wgink.module.file.service.IFileService; -import ink.wgink.pojo.result.ErrorResult; -import ink.wgink.pojo.result.SuccessResultData; -import io.swagger.annotations.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * When you feel like quitting. Think about why you started - * 当你想要放弃的时候,想想当初你为何开始 - * - * @ClassName: FileWechatController - * @Description: 微信文件 - * @Author: WangGeng - * @Date: 2020/3/8 9:39 上午 - * @Version: 1.0 - **/ -@Api(tags = ISystemConstant.API_TAGS_WECHAT_PREFIX + "文件管理接口") -@RestController -@RequestMapping(ISystemConstant.WECHAT_PREFIX + "/file") -public class FileWechatController extends DefaultBaseController { - - @Autowired - private IFileService fileService; - @Autowired - private FileProperties fileProperties; - - @ApiOperation(value = "上传文件", notes = "上传文件接口") - @ApiImplicitParams({ - @ApiImplicitParam(name = "token", value = "token", paramType = "header"), - @ApiImplicitParam(name = "file", value = "文件name", paramType = "query") - }) - @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) - @PostMapping("uploadfile") - public SuccessResultData uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) { - Map params = requestParams(); - return uploadSingle(token, file, UploadTypeEnum.FILE, params); - } - - @ApiOperation(value = "上传图片", notes = "上传图片接口") - @ApiImplicitParams({ - @ApiImplicitParam(name = "token", value = "token", paramType = "header"), - @ApiImplicitParam(name = "image", value = "文件name", paramType = "query") - }) - @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) - @PostMapping("uploadimage") - public SuccessResultData uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) { - Map params = requestParams(); - return uploadSingle(token, image, UploadTypeEnum.IMAGE, params); - } - - @ApiOperation(value = "上传视频", notes = "上传视频接口") - @ApiImplicitParams({ - @ApiImplicitParam(name = "token", value = "token", paramType = "header"), - @ApiImplicitParam(name = "video", value = "文件video", paramType = "query") - }) - @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) - @PostMapping("uploadvideo") - public SuccessResultData uploadVideo(@RequestHeader("token") String token, @RequestParam("video") MultipartFile video) { - if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getWechat() != null) { - fileService.checkVideoDurationAllow(video, fileProperties.getMediaMaxDuration().getWechat().getVideo()); - } - Map params = requestParams(); - return uploadSingle(token, video, UploadTypeEnum.VIDEO, params); - } - - @ApiOperation(value = "上传音频", notes = "上传音频接口") - @ApiImplicitParams({@ApiImplicitParam(name = "token", value = "token", paramType = "header"), - @ApiImplicitParam(name = "audio", value = "文件audio", paramType = "query") - }) - @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) - @PostMapping("uploadaudio") - public SuccessResultData uploadAudio(@RequestHeader("token") String token, @RequestParam("audio") MultipartFile audio) { - if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getWechat() != null) { - fileService.checkAudioDurationAllow(audio, fileProperties.getMediaMaxDuration().getWechat().getAudio()); - } - Map params = requestParams(); - return uploadSingle(token, audio, UploadTypeEnum.AUDIO, params); - } - - @ApiOperation(value = "文件列表", notes = "文件列表接口") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "id列表,逗号分隔", paramType = "query") - }) - @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) - @GetMapping("list") - public List list(@RequestParam("ids") String ids) { - List idList = Arrays.asList(ids.split(",")); - return fileService.list(idList); - } - - /** - * 上传文件 - * - * @param uploadFile - * @param params - * @return - */ - private SuccessResultData uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) { - return fileService.uploadSingle(token, uploadFile, uploadTypeEnum, params); - } - -} diff --git a/module-file/src/main/java/ink/wgink/module/file/service/IFileService.java b/module-file/src/main/java/ink/wgink/module/file/service/IFileService.java index fd1e59af..bb3aa50a 100644 --- a/module-file/src/main/java/ink/wgink/module/file/service/IFileService.java +++ b/module-file/src/main/java/ink/wgink/module/file/service/IFileService.java @@ -113,9 +113,9 @@ public interface IFileService { * @param uploadFile * @param uploadTypeEnum * @param params - * @return + * @return 文件ID */ - SuccessResultData uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params); + String uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params); /** * 文件上传 @@ -124,10 +124,10 @@ public interface IFileService { * @param uploadFile * @param uploadTypeEnum * @param params - * @return + * @return 文件ID * @throws IOException */ - SuccessResultData uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params); + String uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params); /** * 文件上传 diff --git a/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java b/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java index 92ebc29d..b56d36b6 100644 --- a/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java +++ b/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java @@ -174,15 +174,15 @@ public class FileServiceImpl extends DefaultBaseService implements IFileService } @Override - public SuccessResultData uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) throws SystemException { + public String uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) throws SystemException { uploadFile(null, uploadFile, uploadTypeEnum, params); - return new SuccessResultData<>(params.get("fileId").toString()); + return params.get("fileId").toString(); } @Override - public SuccessResultData uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) throws SystemException { + public String uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) throws SystemException { uploadFile(token, uploadFile, uploadTypeEnum, params); - return new SuccessResultData<>(params.get("fileId").toString()); + return params.get("fileId").toString(); } @Override