文件上传,下载异步
This commit is contained in:
parent
3e1d92668a
commit
47afaba8cd
@ -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;
|
||||
|
||||
/**
|
||||
* 获取请求参数
|
||||
|
@ -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;
|
||||
|
||||
/**
|
||||
* 设置新增基础数据
|
||||
|
@ -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;
|
@ -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<String> uploadFile(@RequestParam("file") MultipartFile file) {
|
||||
public Callable<SuccessResultData<String>> uploadFile(@RequestParam("file") MultipartFile file) {
|
||||
Map<String, Object> 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<String> uploadImage(@RequestParam("image") MultipartFile image) {
|
||||
public Callable<SuccessResultData<String>> uploadImage(@RequestParam("image") MultipartFile image) {
|
||||
Map<String, Object> 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<String> uploadVideo(@RequestParam("video") MultipartFile video) {
|
||||
public Callable<SuccessResultData<String>> uploadVideo(@RequestParam("video") MultipartFile video) {
|
||||
if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getBackend() != null) {
|
||||
fileService.checkVideoDurationAllow(video, fileProperties.getMediaMaxDuration().getBackend().getVideo());
|
||||
}
|
||||
Map<String, Object> 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<String> uploadAudio(@RequestParam("audio") MultipartFile audio) {
|
||||
public Callable<SuccessResultData<String>> uploadAudio(@RequestParam("audio") MultipartFile audio) {
|
||||
if (fileProperties.getMediaMaxDuration() != null && fileProperties.getMediaMaxDuration().getBackend() != null) {
|
||||
fileService.checkAudioDurationAllow(audio, fileProperties.getMediaMaxDuration().getBackend().getAudio());
|
||||
}
|
||||
Map<String, Object> 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<String> uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) {
|
||||
return fileService.uploadSingle(uploadFile, uploadTypeEnum, params);
|
||||
return new SuccessResultData<>(fileService.uploadSingle(uploadFile, uploadTypeEnum, params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步上传
|
||||
*
|
||||
* @param uploadFile
|
||||
* @param uploadTypeEnum
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
private Callable<SuccessResultData<String>> asyncUploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) {
|
||||
return () -> new SuccessResultData<>(fileService.uploadSingle(uploadFile, uploadTypeEnum, params));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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<String> uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) {
|
||||
public Callable<SuccessResultData<String>> uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) {
|
||||
Map<String, Object> 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<String> uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) {
|
||||
public Callable<SuccessResultData<String>> uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) {
|
||||
Map<String, Object> 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<String> uploadVideo(@RequestHeader("token") String token, @RequestParam("video") MultipartFile video) {
|
||||
public Callable<SuccessResultData<String>> 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<String, Object> 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<String> uploadAudio(@RequestHeader("token") String token, @RequestParam("audio") MultipartFile audio) {
|
||||
public Callable<SuccessResultData<String>> 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<String, Object> 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<String> uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) {
|
||||
return fileService.uploadSingle(token, uploadFile, uploadTypeEnum, params);
|
||||
private Callable<SuccessResultData<String>> asyncUploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) {
|
||||
return () -> new SuccessResultData<>(fileService.uploadSingle(token, uploadFile, uploadTypeEnum, params));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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<String, Object> params = requestParams();
|
||||
Map<String, Object> params = getParams();
|
||||
params.put("fileId", fileId);
|
||||
params.put("isOpen", isOpen);
|
||||
fileService.downLoadFile(request, response, params);
|
||||
asyncContext.complete();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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<String> uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) {
|
||||
Map<String, Object> 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<String> uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) {
|
||||
Map<String, Object> 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<String> 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<String, Object> 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<String> 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<String, Object> 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<FileDTO> list(@RequestParam("ids") String ids) {
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
return fileService.list(idList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
*
|
||||
* @param uploadFile
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
private SuccessResultData<String> uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) {
|
||||
return fileService.uploadSingle(token, uploadFile, uploadTypeEnum, params);
|
||||
}
|
||||
|
||||
}
|
@ -113,9 +113,9 @@ public interface IFileService {
|
||||
* @param uploadFile
|
||||
* @param uploadTypeEnum
|
||||
* @param params
|
||||
* @return
|
||||
* @return 文件ID
|
||||
*/
|
||||
SuccessResultData<String> uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params);
|
||||
String uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 文件上传
|
||||
@ -124,10 +124,10 @@ public interface IFileService {
|
||||
* @param uploadFile
|
||||
* @param uploadTypeEnum
|
||||
* @param params
|
||||
* @return
|
||||
* @return 文件ID
|
||||
* @throws IOException
|
||||
*/
|
||||
SuccessResultData<String> uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params);
|
||||
String uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 文件上传
|
||||
|
@ -174,15 +174,15 @@ public class FileServiceImpl extends DefaultBaseService implements IFileService
|
||||
}
|
||||
|
||||
@Override
|
||||
public SuccessResultData<String> uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) throws SystemException {
|
||||
public String uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) throws SystemException {
|
||||
uploadFile(null, uploadFile, uploadTypeEnum, params);
|
||||
return new SuccessResultData<>(params.get("fileId").toString());
|
||||
return params.get("fileId").toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SuccessResultData<String> uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) throws SystemException {
|
||||
public String uploadSingle(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) throws SystemException {
|
||||
uploadFile(token, uploadFile, uploadTypeEnum, params);
|
||||
return new SuccessResultData<>(params.get("fileId").toString());
|
||||
return params.get("fileId").toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user