瀏覽代碼

多图上传

Zhaops 6 年之前
父節點
當前提交
801b37bb40

+ 6 - 0
prec-service/src/main/java/com/diagbot/dto/FileDTO.java

@@ -18,6 +18,12 @@ public class FileDTO {
     private String info;
     private Integer type;
 
+    public FileDTO(String state, String info, Integer type) {
+        this.state = state;
+        this.info = info;
+        this.type = type;
+    }
+
     public FileDTO(String state, String info) {
         this.state = state;
         this.info = info;

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

@@ -19,5 +19,5 @@ public interface UploadService {
     List<FileDTO> multiFileUpload(MultipartFile[] mpfs);
 
     //多文件上传同时生成缩略图
-    List<FileThumDTO> multiFileThumUpload(MultipartFile[] mpfs);
+    List<FileThumDTO> multiFileThumUpload(MultipartFile[] mpfs, Integer[] type);
 }

+ 8 - 5
prec-service/src/main/java/com/diagbot/service/impl/UploadServiceImpl.java

@@ -77,7 +77,7 @@ public class UploadServiceImpl implements UploadService {
 
 
     @Override
-    public List<FileThumDTO> multiFileThumUpload(MultipartFile[] mpfs) {
+    public List<FileThumDTO> multiFileThumUpload(MultipartFile[] mpfs, Integer[] type) {
         // 上传文件返回的路径集合
         List<FileThumDTO> fileDTOS = new ArrayList<>();
         if (null == mpfs) {
@@ -85,28 +85,31 @@ public class UploadServiceImpl implements UploadService {
         }
 
         FileThumDTO fileThumDTO = null;
-        for (MultipartFile file : mpfs) {
+        for (int i = 0; i < mpfs.length; i++) {
+            MultipartFile file = mpfs[i];
             if (file.isEmpty()) {
                 fileThumDTO = new FileThumDTO();
-                fileThumDTO.setSource(new FileDTO("FAILURE", "文件不能为空"));
+                fileThumDTO.setSource(new FileDTO("FAILURE", "文件不能为空", type[i]));
                 fileDTOS.add(fileThumDTO);
                 continue;
             }
             //文件大小上限4M
             if (file.getSize() > 4 * 1024 * 1024) {
                 fileThumDTO = new FileThumDTO();
-                fileThumDTO.setSource(new FileDTO("FAILURE", "文件上传失败,超出大小限制4MB"));
+                fileThumDTO.setSource(new FileDTO("FAILURE", "文件上传失败,超出大小限制4MB", type[i]));
                 fileDTOS.add(fileThumDTO);
                 continue;
             }
 
             try {
                 fileThumDTO = saveFileWithThum(file);
+                fileThumDTO.getSource().setType(type[i]);
+                fileThumDTO.getThumbnail().setType(type[i]);
                 fileDTOS.add(fileThumDTO);
             } catch (Exception e) {
                 log.error("文件上传失败", e);
                 fileThumDTO = new FileThumDTO();
-                fileThumDTO.setSource(new FileDTO("FAILURE", "文件上传失败,请重新上传"));
+                fileThumDTO.setSource(new FileDTO("FAILURE", "文件上传失败,请重新上传", type[i]));
                 fileDTOS.add(fileThumDTO);
             }
         }

+ 2 - 6
prec-service/src/main/java/com/diagbot/web/UploadController.java

@@ -62,12 +62,8 @@ public class UploadController {
     @ApiOperation(value = "智能预问诊-多个文件上传同时生成缩略图")
     @CrossOrigin(allowCredentials = "true", allowedHeaders = "*", methods = { RequestMethod.POST }, origins = "*")
     @PostMapping(value = "/uploadImageThums", produces = MediaType.MULTIPART_FORM_DATA_VALUE)
-    public String multiFileThumUpload(@RequestParam("upfiles") MultipartFile[] file, @RequestParam("type") Integer type, HttpServletRequest request, HttpServletResponse response) {
-        List<FileThumDTO> fileDTO = uploadFacade.multiFileThumUpload(file);
-        for (FileThumDTO fileThumDTO : fileDTO) {
-            fileThumDTO.getSource().setType(type);
-            fileThumDTO.getThumbnail().setType(type);
-        }
+    public String multiFileThumUpload(@RequestParam("upfiles") MultipartFile[] file, @RequestParam("type") Integer[] type, HttpServletRequest request, HttpServletResponse response) {
+        List<FileThumDTO> fileDTO = uploadFacade.multiFileThumUpload(file, type);
         String data = FastJsonUtils.getBeanToJson(fileDTO);
         response.setContentType("text/plain;charset=UTF-8");