【发布时间】:2019-08-24 05:19:35
【问题描述】:
我正在将文件从 Azure 文件共享复制到存储容器中的 CloudBlockBlob。在删除原始文件之前,我想验证两个位置的字节(.Properties.Length)是否相同。我认为这将是获得对复制的 blob 的新引用的情况,但它始终为 -1。
副本工作正常,文件 v blob 的目视检查显示字节是相同的,只是不确定如何在我的 C# 应用程序中复制它。
我遇到问题的行是定义“复制”对象的行。
string myfile = @"junk.txt";
CloudFile sourcefile =
fileStorage.Share.GetRootDirectoryReference().GetFileReference(myfile);
CloudBlockBlob destBlob =
destStorage.Container.GetBlockBlobReference(myfile);
string fileSAS = sourcefile.GetSharedAccessSignature(new
SharedAccessFilePolicy()
{
Permissions = SharedAccessFilePermissions.Read,
SharedAccessExpiryTime = DateTime.Now.AddHours(24)
});
Uri fileUri = new Uri(sourcefile.StorageUri.PrimaryUri.ToString() + fileSAS);
CloudBlockBlob destBlob = destStorage.Container.GetBlockBlobReference(file.Path);
destBlob.StartCopy(fileUri);
CloudBlockBlob copied = destStorage.Container.GetBlockBlobReference(myfile);
【问题讨论】:
标签: azure azure-storage azure-blob-storage azure-files