liurunyu
2024-10-23 8247ccb1b4d8dfa5e1e8644cde340c43c2dffe00
web分布式文件系统,增加一个分析文件hash值集合的方法
3个文件已修改
51 ■■■■■ 已修改文件
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/dyFile/FileConstant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/dyFile/FileOperate.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/dyFm/FmCtrl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/dyFile/FileConstant.java
@@ -12,6 +12,8 @@
    public static final String fmPostMapping_parsePathList_paramName = "filePaths" ;//参数名称
    public static final String fmPostMapping_parseHashcode = "parseHashcode" ;//方法路径
    public static final String fmPostMapping_parseHashcode_paramName = "hashCode" ;//参数名称
    public static final String fmPostMapping_parseHashcodeList = "parseHashcodeList" ;//方法路径
    public static final String fmPostMapping_parseHashcodeList_paramName = "hashCodes" ;//参数名称
    public static final String fileRequestMapping = "file" ;//controller 路径
    public static final String filePostMapping_photo = "savePhoto" ;//方法路径
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/dyFile/FileOperate.java
@@ -276,6 +276,36 @@
        return rvo ;
    }
    /**
     * 解析文件哈希值
     * @param fmUrl
     * @param hashCodes
     * @return
     */
    public  List<FileRestVo> parseHashcode(String fmUrl, List<Integer> hashCodes){
        List<FileRestVo> rList = null ;
        if(hashCodes != null && hashCodes.size() > 0) {
            // 准备请求数据
            MultiValueMap<String, Object> multipartRequestData = new LinkedMultiValueMap<>();
            multipartRequestData.add(FileConstant.fmPostMapping_parseHashcodeList_paramName, hashCodes);
            // 设置请求头部,这里假设服务器接收multipart/form-data类型的数据
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.MULTIPART_FORM_DATA);
            // 封装请求体
            HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(multipartRequestData, headers);
            String webUrl = fmUrl + "/" + FileConstant.fmRequestMapping + "/" + FileConstant.fmPostMapping_parseHashcodeList;
            // 发送POST请求
            FileRestVo[] rvos = restTemplate.postForObject(webUrl, requestEntity, FileRestVo[].class);
            rList = Arrays.asList(rvos) ;
        }
        return rList ;
    }
    /**
     * 解析文件文件路径中的哈希值并返回图片完整路径
     * @param fmUrl
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/dyFm/FmCtrl.java
@@ -10,7 +10,7 @@
import java.util.List;
/**
 * 单点登录,
 * 分布式web文件系统管理系统
 */
@Slf4j
@RestController
@@ -130,4 +130,21 @@
    }
    /**
     * 解析哈希值,计算出该哈希值对应的文件服务器属性
     * @param hashCodes
     * @return
     */
    @PostMapping(path = "parseHashcodeList")
    public FileRestVo[] parseHashcodeList(List<Integer> hashCodes){
        List<FileRestVo> rList = new ArrayList<FileRestVo>() ;
        if(hashCodes != null && hashCodes.size() > 0){
            for (Integer hashCode : hashCodes){
                rList.add(parseHashcode(hashCode)) ;
            }
        }
        return rList.toArray(new FileRestVo[0]) ;
    }
}