使用blobdownload客户机的不同校验和值

yfwxisqw  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(344)

我遇到了一个奇怪的问题。我正在从我的存储帐户下载相同的文件,没有问题。但是,每次下载都会得到不同的校验和值。下面是我正在使用的代码。为什么会这样?谢谢

BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(connectStr).buildClient();

    BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient("test");

    String fileName ="blob.iso";
    BlobClient blobClient = containerClient.getBlobClient(fileName);

    blobClient.download("path to file");
mjqavswn

mjqavswn1#

根据我的测试,校验和正好匹配。
这是我的密码:

public static void main(String[] args) throws Exception {
        String connectStr = "DefaultEndpointsProtocol=https;AccountName=storagetest789;AccountKey=G3************1w==;EndpointSuffix=core.windows.net";
        BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(connectStr).buildClient();
        BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient("pub");
        BlobClient blobClient = containerClient.getBlobClient("azure-cli-2.0.67.msi");
        blobClient.downloadToFile("d:/test/azure-cli-2.0.67.msi",true);
        System.out.println("azure-cli-2.0.67.msi -> " + DigestUtils.md5DigestAsHex(FileUtils.openInputStream(new File("d:/test/azure-cli-2.0.67.msi"))));
    }

我运行了两次,得到了以下结果:

// First time
azure-cli-2.0.67.msi -> 4510dc9ee0dd38bfbf261f6a9e467d34
// Second time
azure-cli-2.0.67.msi -> 4510dc9ee0dd38bfbf261f6a9e467d34

我看到你正试图下载一个iso文件,它的大小可能更大。我不确定这会不会是个问题。当网络环境不好时,下载的数据可能不完整或不正确,这可能会导致您的问题。

相关问题