下载文件的一致性验证之MD5值校验

前几天写脚本遇到下载功能校验,一时间不到怎么校验好?

于是请教大神,大神给出方案如下:

 先去了解一下你们的产品针对这个下载功能有没有做什么功能设计。。。然后再针对这些功能设计去设计测试用例。。。比如断点续传有没有,有没有压缩,有没有加密,下载过程中对不同网速有没有控制。。。如果什么功能都没有,那么测试用例就可以简单一点。。。如果有特殊功能,那么就复杂一点
我验证的是上传到服务器的文件和从服务器下载下来的文件是否一致,结果就用了这个md5值得校验,解决了问题
代码如下:
复制代码
/**
     * 获取文件的MD5值
     *
     * @param filePath
     * @throws Exception
     */
    public String getMd5(String filePath) throws Exception {
        File file1 = new File(filePath);
        FileInputStream fis = new FileInputStream(file1);
        String md5 = DigestUtils.md5Hex(IOUtils.toByteArray(fis));
        IOUtils.closeQuietly(fis);
        logger.info("p2_MD5:" + md5);
        return md5;
    }

    /**
     * 文件MD5值校验是否一致
     *
     * @param filePath1
     * @param filePath2
     * @return
     * @throws Exception
     */
    public Boolean compareFile(String filePath1, String filePath2) throws Exception {
        //获取第一个文件的MD5值
        String p1_md5 = getMd5(filePath1);
        //获取第二个文件的MD5值
        String p2_md5 = getMd5(filePath1);
        if (p2_md5.equals(p1_md5)) {
            return true;
        } else {
            return false;
        }
    }
复制代码

 

posted @   久曲健  阅读(5365)  评论(2编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2017-01-18 Spring_使用XML文件的方式配置事务
2017-01-18 spring事物的传播行为及隔离
点击右上角即可分享
微信分享提示