Browse Source

Merge remote-tracking branch 'origin/dev/precSR' into dev/precSR

wangyu 5 years ago
parent
commit
c1fc6b4217

+ 3 - 0
prec-service/src/main/java/com/diagbot/service/UploadService.java

@@ -15,6 +15,9 @@ public interface UploadService {
     //单文件上传
     FileDTO singleFileUpload(MultipartFile file);
 
+    //单文件上传同时生成缩略图
+    FileThumDTO singleFileThumUpload(MultipartFile file);
+
     //多文件上传
     List<FileDTO> multiFileUpload(MultipartFile[] mpfs);
 

+ 22 - 0
prec-service/src/main/java/com/diagbot/service/impl/UploadServiceImpl.java

@@ -45,6 +45,28 @@ public class UploadServiceImpl implements UploadService {
         }
     }
 
+    @Override
+    public FileThumDTO singleFileThumUpload(MultipartFile file){
+        FileThumDTO fileThumDTO = new FileThumDTO();
+        if (file.isEmpty()) {
+            fileThumDTO.setSource(new FileDTO("FAILURE", "文件不能为空"));
+            return fileThumDTO;
+        }
+        //文件大小上限4M
+        if (file.getSize() > 4 * 1024 * 1024) {
+            fileThumDTO.setSource(new FileDTO("FAILURE", "文件上传失败,超出大小限制4MB"));
+            return fileThumDTO;
+        }
+        try {
+            fileThumDTO = saveFileWithThum(file);
+            return fileThumDTO;
+        } catch (Exception e) {
+            log.error("文件上传失败", e);
+            fileThumDTO.setSource(new FileDTO("FAILURE", "文件上传失败,请重新上传"));
+            return fileThumDTO;
+        }
+    }
+
     @Override
     public List<FileDTO> multiFileUpload(MultipartFile[] mpfs) {
         // 上传文件返回的路径集合

+ 12 - 0
prec-service/src/main/java/com/diagbot/web/UploadController.java

@@ -43,6 +43,18 @@ public class UploadController {
         }
     }
 
+    @ApiOperation(value = "智能预问诊-单个文件上传同时生成缩略图")
+    @CrossOrigin(allowCredentials = "true", allowedHeaders = "*", methods = { RequestMethod.POST }, origins = "*")
+    @PostMapping(value = "/uploadImageThum", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public RespDTO<FileThumDTO> singleFileThumUpload(@RequestParam("upfile") MultipartFile file) {
+        FileThumDTO data = uploadFacade.singleFileThumUpload(file);
+        if (null != data.getSource() &&
+                data.getSource().getState().equals("FAILURE")) {
+            return RespDTO.onError(data.getSource().getInfo());
+        } else {
+            return RespDTO.onSuc(data);
+        }
+    }
 
     @ApiOperation(value = "智能预问诊-多个文件上传")
     @CrossOrigin(allowCredentials = "true", allowedHeaders = "*", methods = { RequestMethod.POST }, origins = "*")