Var*_*pai 2 c# azure azure-storage-blobs
当我尝试获取 Azure Blob 的 LastModified 属性时,我得到了null,下面是相同的片段。
Run Code Online (Sandbox Code Playgroud)CloudStorageAccount storageAccount = CloudStorageAccount.Parse("account"); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("folder"); var blobs = container.ListBlobs(); foreach (var blob in blobs) { CloudBlockBlob blockBlob =container.GetBlockBlobReference(blob.ToString()); var timemodified = blockBlob.Properties.LastModified; }
在上面的blob 中获取的值不是 CloudBlobDirectory。在此先感谢您的帮助。
您出现此行为的原因是因为当您执行以下代码行时:
CloudBlockBlob blockBlob = container.GetBlockBlobReference(blob.ToString());
Run Code Online (Sandbox Code Playgroud)
它本质上创建了一个新的CloudBlockBlob对象实例,并且它的属性被初始化为默认值。您需要FetchAttributes对此调用方法来填充属性。
此外,当您列出 blob 时,也会获取 blob 的属性。所以你不需要创建一个新的CloudBlockBlob. 只需使用blob您获得的对象作为列表结果并使用那里的属性。所以你的代码是:
foreach (var blob in blobs)
{
var timemodified = blob.Properties.LastModified;
}
Run Code Online (Sandbox Code Playgroud)