增加APP文件上传接口

This commit is contained in:
wanggeng 2022-04-24 23:04:46 +08:00
parent 2f326ec891
commit 3954a4bb8e
3 changed files with 190 additions and 6 deletions

View File

@ -0,0 +1,131 @@
package ink.wgink.module.file.controller.app.api;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.file.enums.UploadTypeEnum;
import ink.wgink.module.file.pojo.dtos.FileUploadSuccessDTO;
import ink.wgink.module.file.service.v2.IFileV2Service;
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.Map;
/**
* When you feel like quitting. Think about why you started
* 当你想要放弃的时候想想当初你为何开始
*
* @ClassName: FileAppController
* @Description: APP文件上传
* @Author: WangGeng
* @Date: 2019-08-02 15:38
* @Version: 1.0
**/
@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "文件管理接口")
@RestController
@RequestMapping(ISystemConstant.APP_PREFIX + "/file/v2")
public class FileV2AppController extends DefaultBaseController {
@Autowired
private IFileV2Service fileV2Service;
@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("upload-file")
public SuccessResultData<FileUploadSuccessDTO> uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, file, UploadTypeEnum.FILE, params));
}
@ApiOperation(value = "上传文件", notes = "上传文件接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "userId", paramType = "token"),
@ApiImplicitParam(name = "file", value = "文件name", paramType = "query")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("upload-file-release")
public SuccessResultData<FileUploadSuccessDTO> uploadFileByUserId(@RequestHeader("userId") String userId, @RequestParam("file") MultipartFile file) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, 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("upload-image")
public SuccessResultData<FileUploadSuccessDTO> uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, image, UploadTypeEnum.IMAGE, params));
}
@ApiOperation(value = "上传图片", notes = "上传图片接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "userId", paramType = "token"),
@ApiImplicitParam(name = "image", value = "文件name", paramType = "query")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("upload-image-release")
public SuccessResultData<FileUploadSuccessDTO> uploadImageByUserId(@RequestHeader("userId") String userId, @RequestParam("image") MultipartFile image) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, 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("upload-video")
public SuccessResultData<FileUploadSuccessDTO> uploadVideo(@RequestHeader("token") String token, @RequestParam("video") MultipartFile video) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, video, UploadTypeEnum.VIDEO, params));
}
@ApiOperation(value = "上传视频", notes = "上传视频接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "userId", paramType = "header"),
@ApiImplicitParam(name = "video", value = "文件video", paramType = "query")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("upload-video-release")
public SuccessResultData<FileUploadSuccessDTO> uploadVideoByUserId(@RequestHeader("userId") String userId, @RequestParam("video") MultipartFile video) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, 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("upload-audio")
public SuccessResultData<FileUploadSuccessDTO> uploadAudio(@RequestHeader("token") String token, @RequestParam("audio") MultipartFile audio) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, audio, UploadTypeEnum.AUDIO, params));
}
@ApiOperation(value = "上传音频", notes = "上传音频接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "userId", paramType = "header"),
@ApiImplicitParam(name = "audio", value = "文件audio", paramType = "query")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("upload-audio-release")
public SuccessResultData<FileUploadSuccessDTO> uploadAudioByUserId(@RequestHeader("userId") String userId, @RequestParam("audio") MultipartFile audio) {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, audio, UploadTypeEnum.AUDIO, params));
}
}

View File

@ -15,5 +15,36 @@ import java.util.Map;
*/
public interface IFileV2Service {
FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params);
/**
* 单文件上传
*
* @param uploadFile 上传文件
* @param uploadTypeEnum 上传类型
* @param requestParams 请求参数
* @return
*/
FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> requestParams);
/**
* 单文件上传
*
* @param token token
* @param uploadFile 上传文件
* @param uploadTypeEnum 上传类型
* @param requestParams 请求参数
* @return
*/
FileUploadSuccessDTO uploadSingleByToken(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> requestParams);
/**
* 单文件上传
*
* @param userId 用户ID
* @param uploadFile 上传文件
* @param uploadTypeEnum 上传类型
* @param requestParams 请求参数
* @return
*/
FileUploadSuccessDTO uploadSingleByUserId(String userId, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> requestParams);
}

View File

@ -25,12 +25,34 @@ public class FileV2ServiceImpl extends DefaultBaseService implements IFileV2Serv
private IFileService fileService;
@Override
public FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> params) {
fileService.uploadSingle(uploadFile, uploadTypeEnum, params);
public FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> requestParams) {
fileService.uploadSingle(uploadFile, uploadTypeEnum, requestParams);
FileUploadSuccessDTO fileUploadSuccessDTO = new FileUploadSuccessDTO();
fileUploadSuccessDTO.setFileId(params.get("fileId").toString());
fileUploadSuccessDTO.setFileName(params.get("fileName").toString());
fileUploadSuccessDTO.setFileSize(Long.valueOf(params.get("fileSize").toString()));
fileUploadSuccessDTO.setFileId(requestParams.get("fileId").toString());
fileUploadSuccessDTO.setFileName(requestParams.get("fileName").toString());
fileUploadSuccessDTO.setFileSize(Long.valueOf(requestParams.get("fileSize").toString()));
return fileUploadSuccessDTO;
}
@Override
public FileUploadSuccessDTO uploadSingleByToken(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> requestParams) {
fileService.uploadSingle(token, uploadFile, uploadTypeEnum, requestParams);
FileUploadSuccessDTO fileUploadSuccessDTO = new FileUploadSuccessDTO();
fileUploadSuccessDTO.setFileId(requestParams.get("fileId").toString());
fileUploadSuccessDTO.setFileName(requestParams.get("fileName").toString());
fileUploadSuccessDTO.setFileSize(Long.valueOf(requestParams.get("fileSize").toString()));
return fileUploadSuccessDTO;
}
@Override
public FileUploadSuccessDTO uploadSingleByUserId(String userId, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map<String, Object> requestParams) {
fileService.uploadSingleByUserId(userId, uploadFile, uploadTypeEnum, requestParams);
FileUploadSuccessDTO fileUploadSuccessDTO = new FileUploadSuccessDTO();
fileUploadSuccessDTO.setFileId(requestParams.get("fileId").toString());
fileUploadSuccessDTO.setFileName(requestParams.get("fileName").toString());
fileUploadSuccessDTO.setFileSize(Long.valueOf(requestParams.get("fileSize").toString()));
return fileUploadSuccessDTO;
}
}