java - 使用 BlobDownload 客户端的不同校验和值
问题描述
我遇到了一个奇怪的问题。我正在从我的存储帐户下载相同的文件,没有问题。但是,每次下载我都会得到不同的校验和值。下面是我正在使用的代码。有什么理由会这样吗?谢谢
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");
解决方案
根据我的测试,校验和正好匹配。
这是我的代码:
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 文件。我不确定这是否会成为问题。当网络环境不好时,下载的数据可能不完整或不正确,这可能会导致您的问题。
推荐阅读
- android - WebStorm:找不到为类生成的设置器
- python - 如何将通量比设置为约束?
- node.js - 贡献一个 JS 库
- powershell - 在尝试重命名 csv 文件中的列时,数据会从第二列和第三列中删除
- google-apps-script - 如何解析谷歌表格脚本中的范围
- powershell - 以管理员身份登录 PowerShell 脚本
- ip - 无法在 Windows 上访问本地内部 IP 地址
- excel - VBA类模块:从类内的对象获取属性
- reactjs - 无法在反应中静态分析'require(...,...)'
- ios - 为什么蓝牙经典和 LE 设备在 iOS 上的名称相同?