扩展上传文件接口
This commit is contained in:
parent
2f3a69d278
commit
94cd46e73d
@ -3,6 +3,7 @@ package cn.axzo.oss.client.controller;
|
||||
import cn.axzo.core.utils.converter.BeanConverter;
|
||||
import cn.axzo.oss.common.utils.BeanConvertUtil;
|
||||
import cn.axzo.oss.http.api.ServerFileServiceApi;
|
||||
import cn.axzo.oss.http.model.FileInformationResponse;
|
||||
import cn.axzo.oss.http.model.ServerFileDeleteRequest;
|
||||
import cn.axzo.oss.http.model.ServerFileUploadRequest;
|
||||
import cn.axzo.oss.http.model.ServerFileUploadResponse;
|
||||
@ -36,6 +37,13 @@ public class ServerFileController implements ServerFileServiceApi {
|
||||
return CommonResponse.success(BeanConverter.convert(fileService.upload(dto),ServerFileUploadResponse.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<FileInformationResponse> uploadV2(ServerFileUploadRequest request) {
|
||||
ServerFileUploadDto dto = BeanConvertUtil.copyBean(request, ServerFileUploadDto.class);
|
||||
request.setFileContent(null);
|
||||
return CommonResponse.success(BeanConverter.convert(fileService.uploadV2(dto),FileInformationResponse.class));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文件url删除文件
|
||||
* @param request
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.oss.http.api;
|
||||
|
||||
import cn.axzo.oss.http.model.FileInformationResponse;
|
||||
import cn.axzo.oss.http.model.ServerFileDeleteRequest;
|
||||
import cn.axzo.oss.http.model.ServerFileUploadRequest;
|
||||
import cn.axzo.oss.http.model.ServerFileUploadResponse;
|
||||
@ -29,6 +30,14 @@ public interface ServerFileServiceApi {
|
||||
@RequestMapping(value = "/api/v1/server/upload", method = RequestMethod.POST)
|
||||
CommonResponse<ServerFileUploadResponse> upload(ServerFileUploadRequest request);
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/api/v2/server/upload", method = RequestMethod.POST)
|
||||
CommonResponse<FileInformationResponse> uploadV2(ServerFileUploadRequest request);
|
||||
|
||||
/**
|
||||
* 删除文件
|
||||
* @param request
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
package cn.axzo.oss.http.model;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FileInformationResponse {
|
||||
/**
|
||||
* 文件 URL
|
||||
*/
|
||||
private String url;
|
||||
/**
|
||||
* 文件名称
|
||||
*/
|
||||
private String fileName;
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
private Long fileSize;
|
||||
/**
|
||||
* URL MD5
|
||||
*/
|
||||
private String urlMd5;
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.oss.manager.api.dto.response;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FileInformationResponse {
|
||||
/**
|
||||
* 文件 URL
|
||||
*/
|
||||
private String url;
|
||||
/**
|
||||
* 文件名称
|
||||
*/
|
||||
private String fileName;
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
private Long fileSize;
|
||||
|
||||
/**
|
||||
* URL MD5
|
||||
*/
|
||||
private String urlMd5;
|
||||
}
|
||||
@ -2,6 +2,7 @@ package cn.axzo.oss.service.api;
|
||||
|
||||
import cn.axzo.oss.manager.api.dto.request.ServerFileDeleteDto;
|
||||
import cn.axzo.oss.manager.api.dto.request.ServerFileUploadDto;
|
||||
import cn.axzo.oss.manager.api.dto.response.FileInformationResponse;
|
||||
import cn.axzo.oss.manager.api.dto.response.ServerFileUploadResponse;
|
||||
|
||||
/**
|
||||
@ -25,4 +26,6 @@ public interface FileService {
|
||||
* @param request
|
||||
*/
|
||||
ServerFileUploadResponse upload(ServerFileUploadDto request);
|
||||
|
||||
FileInformationResponse uploadV2(ServerFileUploadDto request);
|
||||
}
|
||||
|
||||
@ -22,6 +22,7 @@ import cn.axzo.oss.manager.api.FileManager;
|
||||
import cn.axzo.oss.manager.api.FileUploadConfigManager;
|
||||
import cn.axzo.oss.manager.api.dto.request.ServerFileDeleteDto;
|
||||
import cn.axzo.oss.manager.api.dto.request.ServerFileUploadDto;
|
||||
import cn.axzo.oss.manager.api.dto.response.FileInformationResponse;
|
||||
import cn.axzo.oss.manager.api.dto.response.ServerFileUploadResponse;
|
||||
import cn.axzo.oss.service.api.FileService;
|
||||
import java.util.Arrays;
|
||||
@ -108,6 +109,17 @@ public class FileServiceImpl implements FileService {
|
||||
*/
|
||||
@Override
|
||||
public ServerFileUploadResponse upload(ServerFileUploadDto dto) {
|
||||
File ossFile = uploadFileAndGetFile(dto);
|
||||
return setResponse(ossFile);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileInformationResponse uploadV2(ServerFileUploadDto request) {
|
||||
File ossFile = uploadFileAndGetFile(request);
|
||||
return setFileInfoResp(ossFile);
|
||||
}
|
||||
|
||||
private File uploadFileAndGetFile(ServerFileUploadDto dto) {
|
||||
log.info("update fileName:{},appCode:{},bizScene:{}",
|
||||
dto.getFileName(), dto.getAppCode(), dto.getBizScene());
|
||||
// 检查appCode
|
||||
@ -123,11 +135,8 @@ public class FileServiceImpl implements FileService {
|
||||
// 通过渠道码和桶名称获取获取指定上传配置
|
||||
FileUploadConfig fileUploadConfig = fileUploadConfigManager
|
||||
.getByUploadConfig(scene.getAppChannelBucketNo(), scene.getDirectory());
|
||||
|
||||
// 上传文件并生成file对象
|
||||
File ossFile = generateFile(fileUploadConfig, dto);
|
||||
|
||||
return setResponse(ossFile);
|
||||
return generateFile(fileUploadConfig, dto);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -202,4 +211,12 @@ public class FileServiceImpl implements FileService {
|
||||
return response;
|
||||
}
|
||||
|
||||
private FileInformationResponse setFileInfoResp(File ossFile){
|
||||
FileInformationResponse resp=new FileInformationResponse();
|
||||
resp.setUrl(ossFile.getFileUrl());
|
||||
resp.setFileName(ossFile.getFileName());
|
||||
resp.setUrlMd5(ossFile.getUrlMd5());
|
||||
return resp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user