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); } 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("获取数据失败"); } } } 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); } /** * 文件删除 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