Browse Source

项目附件上传接口

master
sunyuchao 5 years ago
parent
commit
f366657cef
  1. 32
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java
  2. 2
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java
  3. 26
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java
  4. 21
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java

32
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java

@ -272,4 +272,36 @@ public class OssController {
return ossService.extUpload(filse,fileName);
}
/**
* @param file
* @Description 外挂-文件上传
* @Author sun
**/
@PostMapping("uploadvariedfile")
public Result<UploadImgResultDTO> uploadVariedFile(@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();
String format = "-" + fileName.substring(fileName.lastIndexOf(".") + NumConstant.ONE) + "-";
//1.校验上传文件类型
if (!ModuleConstant.PROJECT_FILE_CONTENT.contains(format)) {
log.error(String.format("上传文件类型格式错误,暂不支持此类文件上传,文件名->%s", fileName));
throw new RenException(EpmetErrorCode.OPER_UPLOAD_FILE_TYPE_ERROR.getCode(), EpmetErrorCode.OPER_UPLOAD_FILE_TYPE_ERROR.getMsg());
}
long size = file.getSize();
//2.校验文件体积大小
long maxSize = 0;
if (ModuleConstant.PROJECT_FILE_IMAGE.contains(format)) {//单个图片10M
maxSize = 10 * 1024 * 1024;
} else if (ModuleConstant.PROJECT_FILE_DOC.contains(format)) {//单个文件5M
maxSize = 5 * 1024 * 1024;
} else if (ModuleConstant.PROJECT_FILE_VIDEO.contains(format)) {//单个视频10M
maxSize = 10 * 1024 * 1024;
}
if (size > maxSize) {
throw new RenException(EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getCode(), EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getMsg());
}
return ossService.uploadVariedFile(file);
}
}

2
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java

@ -31,4 +31,6 @@ public interface OssService extends BaseService<OssEntity> {
Result<UploadImgResultDTO> uploadImg(MultipartFile file);
Result<UploadImgResultDTO> extUpload(MultipartFile file, String fileName);
Result<UploadImgResultDTO> uploadVariedFile(MultipartFile file);
}

26
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java

@ -104,4 +104,30 @@ public class OssServiceImpl extends BaseServiceImpl<OssDao, OssEntity> implement
dto.setUrl(url);
return new Result<UploadImgResultDTO>().ok(dto);
}
@Override
public Result<UploadImgResultDTO> uploadVariedFile(MultipartFile file) {
if (file.isEmpty()) {
return new Result<UploadImgResultDTO>().error(ModuleErrorCode.UPLOAD_FILE_EMPTY);
}
//上传文件
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
String url = null;
try {
url = OssFactory.build().uploadSuffix(file.getBytes(), extension);
} catch (IOException e) {
e.printStackTrace();
logger.error("文件上传异常");
throw new RenException("文件上传异常");
}
//保存文件信息
OssEntity ossEntity = new OssEntity();
ossEntity.setUrl(url);
baseDao.insert(ossEntity);
//文件信息
UploadImgResultDTO dto = new UploadImgResultDTO();
dto.setUrl(url);
return new Result<UploadImgResultDTO>().ok(dto);
}
}

21
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java

@ -26,4 +26,25 @@ public interface ModuleConstant extends Constant {
* jpg文件类型
*/
String FILE_CONTENT_TYPE_JPG = "image/jpg";
/**
* 项目附件-允许上传的文件类型
*/
String PROJECT_FILE_CONTENT = "-jpg-png-jpeg-bmp-gif-pdf-ppt-pptx-doc-docx-xls-xlsx-mp4-avi-mov-rmvb-rm-wmv-";
/**
* 项目附件-允许的图片类型
*/
String PROJECT_FILE_IMAGE = "-jpg-png-jpeg-bmp-gif-";
/**
* 项目附件-允许的文件类型
*/
String PROJECT_FILE_DOC = "-pdf-ppt-pptx-doc-docx-xls-xlsx-";
/**
* 项目附件-允许的音频类型
*/
String PROJECT_FILE_VOICE = "-mp3-wma-m4a-";
/**
* 项目附件-允许的视频类型
*/
String PROJECT_FILE_VIDEO = "-mp4-avi-mov-rmvb-rm-wmv-";
}

Loading…
Cancel
Save