From f396628c87b143f233503b23f36e4fc76df25ab2 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Sat, 04 Jul 2020 21:04:27 +0800 Subject: [PATCH] 开放一些接口,添加上传base64的功能 --- kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/controller/FileController.java | 8 ++++++++ kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java | 29 +++++++++++++++++++++++++++++ kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml | 7 ++++++- kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/IFileService.java | 6 ++++++ 4 files changed, 49 insertions(+), 1 deletions(-) diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/IFileService.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/IFileService.java index b7bfa83..548cf90 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/IFileService.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/IFileService.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; import com.kidgrow.filecenter.model.FileInfo; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import java.util.Map; @@ -36,4 +38,8 @@ * base64上传图片 */ FileInfo baseUplaod(String file, String imgType); + /** + * base64图片下载 + */ + ResultBody baseDownLoad(Map<String, Object> map); } diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java index 638d6a0..71d54eb 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.kidgrow.common.constant.CommonConstant; import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.utils.DateUtil; import com.kidgrow.common.utils.MultipartFileUtils; import com.kidgrow.common.utils.RandomValueUtils; @@ -18,8 +19,10 @@ import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.collections4.MapUtils; import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder; +import sun.misc.BASE64Encoder; import java.io.*; import java.util.Date; @@ -209,5 +212,31 @@ } return null; } + + @Override + public ResultBody baseDownLoad(Map<String, Object> map) { + List<FileInfo> fileInfos = baseMapper.selectByMap(map); + if(fileInfos.size()>0){ + FileInfo fileInfo = fileInfos.get(0); + InputStream in = null; + byte[] data = null; + //读取图片字节数组 + try{ + in = new FileInputStream(fileInfo.getUrl()); + data = new byte[in.available()]; + in.read(data); + in.close(); + }catch (IOException e){ + e.printStackTrace(); + } + //对字节数组Base64编码 + BASE64Encoder encoder = new BASE64Encoder(); + //返回Base64编码过的字节数组字符串 + String encode = encoder.encode(data); + return ResultBody.ok().data(encode); + }else { + return ResultBody.failed("获取数据失败"); + } + } } diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/controller/FileController.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/controller/FileController.java index 7579945..54304b9 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/controller/FileController.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/controller/FileController.java @@ -2,6 +2,7 @@ import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.Result; +import com.kidgrow.common.model.ResultBody; import com.kidgrow.filecenter.model.FileInfo; import com.kidgrow.filecenter.service.IFileService; import org.springframework.http.MediaType; @@ -68,6 +69,13 @@ public FileInfo baseUplaod(@RequestParam("file") String file,@RequestParam("imgType") String imgType){ return fileService.baseUplaod(file,imgType); } + /** + * base64图片下载 + */ + @PostMapping(value="baseDownLoad",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public ResultBody baseDownLoad(@RequestBody Map<String,Object> map){ + return fileService.baseDownLoad(map); + } /** * 文件删除 diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml index c6a4a69..8299439 100644 --- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml +++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml @@ -23,6 +23,7 @@ prefer-ip-address: true client: serviceUrl: +# defaultZone: http://192.168.2.240:9001/eureka/ defaultZone: ${kidgrow.eureka.client.serviceUrl.defaultZone} zuul: @@ -215,6 +216,8 @@ - /api-user/users/isRegUser - /api-user/users/passwordByPhone - /api-evaluation/evaluationxrayinfo/appUpload + - /api-evaluation/evaluationxrayinfo/appSave + - /api-file/baseUplaod # - /api-user/syshospital/findAllByMap # - /api-user/sysdictionaries/findAll # - /api-user/sysdepartment/findListByHospitalId @@ -244,7 +247,9 @@ /api-file/files-upload, /api-user/users/isRegUser, /api-user/users/passwordByPhone, - /api-evaluation/evaluationxrayinfo/appUpload + /api-evaluation/evaluationxrayinfo/appUpload, + /api-evaluation/evaluationxrayinfo/appSave, + /api-file/baseUplaod # /api-user/syshospital/findAllByMap, # /api-user/sysdictionaries/findAll, # /api-user/sysdepartment/findListByHospitalId -- Gitblit v1.8.0