| 
					
				 | 
			
			
				@ -0,0 +1,243 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.healthyhouse.controller.dfs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.node.ObjectNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.fastdfs.FastDFSUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.fastdfs.config.FastDFSConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.healthyhouse.model.dfs.FileResource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.healthyhouse.service.dfs.FileResourceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ObjEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.health.house.HealthyHouseMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.multipart.MultipartFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.ByteArrayInputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.InputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 *文件服务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RequestMapping(HealthyHouseMapping.api_healthyHouse_common) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Api(value = "FastDFSController", description = "FastDFS服务", tags = {"FastDFS服务"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class FastDFSController extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${fastDFS.fastdfs_file_url}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String fastdfs_file_url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private FastDFSUtil fastDFSUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private FastDFSConfig fastDFSConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private FileResourceService fileResourceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 文件上传 - 返回相关索引信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param creator 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param objectId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value =HealthyHouseMapping.HealthyHouse.FastDFS.UPLOAD ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "文件上传", notes = "返回相关索引信息,以及HttpUrl下载连接") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop<FileResource> upload ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "file", value = "文件", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestPart(value = "file") MultipartFile file, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "creator", value = "创建者", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "creator") String creator, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "objectId", value = "被创建文件所属对象标识", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "objectId") String objectId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileName = file.getOriginalFilename(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (fileExtension.equals(fileName)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            fileExtension = "file"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ObjectNode objectNode = fastDFSUtil.upload(file.getInputStream(), fileExtension, "svr-dfs"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String groupName = objectNode.get(FastDFSUtil.GROUP_NAME).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String remoteFileName = objectNode.get(FastDFSUtil.REMOTE_FILE_NAME).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int fileSize = objectNode.get(FastDFSUtil.FILE_SIZE).asInt(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String path = groupName.substring(1, groupName.length() - 1) + ":" + remoteFileName.substring(1, remoteFileName.length() - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //路径存储到mysql数据库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        FileResource fileResource =new FileResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setObjectId(objectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setStoragePath(path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setFileSize(String.valueOf(fileSize)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setFileName(fileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource=  fileResourceService.save(fileResource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        path = groupName.substring(1, groupName.length() - 1) + "/" + remoteFileName.substring(1, remoteFileName.length() - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setStoragePath( fastdfs_file_url + path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println( fastDFSConfig.getPublicServer() + "/" + path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(fileResource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 文件上传 - 返回相关索引信息,兼容旧接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param jsonData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.UPLOADJSON) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "文件上传", notes = "返回相关索引信息,以及HttpUrl下载连接(兼容旧接口)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop<FileResource> upload( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "jsonData", value = "文件资源", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody String jsonData) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, String> paramMap = toEntity(jsonData, Map.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileStr = paramMap.get("fileStr"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        byte[] bytes = Base64.getDecoder().decode(fileStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        InputStream inputStream = new ByteArrayInputStream(bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileName = paramMap.get("fileName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (fileExtension.equals(fileName)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            fileExtension = "file"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ObjectNode objectNode = fastDFSUtil.upload(inputStream, fileExtension, "svr-dfs"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int fileSize = objectNode.get(FastDFSUtil.FILE_SIZE).asInt(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String groupName = objectNode.get(FastDFSUtil.GROUP_NAME).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String remoteFileName = objectNode.get(FastDFSUtil.REMOTE_FILE_NAME).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String path = groupName.substring(1, groupName.length() - 1) + ":" + remoteFileName.substring(1, remoteFileName.length() - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //路径存储到mysql数据库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        FileResource fileResource =new FileResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //TODO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setObjectId("111"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setStoragePath(path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setFileSize(String.valueOf(fileSize)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setFileName(fileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource=  fileResourceService.save(fileResource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         path = groupName.substring(1, groupName.length() - 1) + "/" + remoteFileName.substring(1, remoteFileName.length() - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResource.setStoragePath( fastdfs_file_url + path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println( fastDFSConfig.getPublicServer() + "/" + path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(fileResource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 删除资源表对应关系,并且删除fastDfs相对应当文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @DeleteMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.DELETE_BY_ID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "删除资源表对应关系,并且删除fastDfs相对应文件") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop deleteById( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      FileResource fileResource=  fileResourceService.findById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      if(null==fileResource){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          return failed("无相关文件资源"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String storagePath = fileResource.getStoragePath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String groupName = storagePath.split(":")[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String remoteFileName = storagePath.split(":")[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 删除文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fastDFSUtil.delete(groupName, remoteFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResourceService.delete(fileResource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("success"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 删除资源表对应关系,并且删除fastDfs相对应当文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @DeleteMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.DELETE_BY_PATH) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "删除资源表对应关系,并且删除fastDfs相对应文件") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop deleteByPath( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "path", value = "文件路径", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "path") String path) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (path.split(":").length < 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed("参数有误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 删除文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fastDFSUtil.delete(path.split(":")[0], path.split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<FileResource> fileResourceList=  fileResourceService.findByField("storagePath",path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuilder ids = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (FileResource fileResource : fileResourceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String id= fileResource.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ids.append(id + ","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 删除mysql数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        fileResourceService.delete(ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("success"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//     * 获取文件信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//     * @param path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.GET_FILE_INFO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    @ApiOperation(value = "获取文件信息") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    public Envelop getInfo( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            @ApiParam(name = "path", value = "路径", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            @RequestParam(value = "path") String path) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if (path.split(":").length < 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            return failed("参数有误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        FileInfo fileInfo = fastDFSUtil.getFileInfo(path.split(":")[0], path.split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        return success(fileInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 下载文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.DOWNLOAD_BY_ID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "下载文件(byId)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop downloadById ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        FileResource fileResource=  fileResourceService.findById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String storagePath = fileResource.getStoragePath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String groupName = storagePath.split(":")[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String remoteFileName = storagePath.split(":")[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        byte[] bytes = fastDFSUtil.download(groupName, remoteFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileStream = new String(Base64.getEncoder().encode(bytes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!StringUtils.isEmpty(fileStream)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(fileStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return failed("FileStream Is Empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 下载文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.DOWNLOAD_BY_PATH) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "下载文件(byPath)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop downloadByPath( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "path", value = "文件路径", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "path") String path) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (path.split(":").length < 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed("参数有误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String groupName = path.split(":")[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String remoteFileName = path.split(":")[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        byte[] bytes = fastDFSUtil.download(groupName, remoteFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String fileStream = new String(Base64.getEncoder().encode(bytes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!StringUtils.isEmpty(fileStream)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(fileStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return failed("FileStream Is Empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |