2

だから私はblobストレージにあるファイルの詳細を取得しようとしています。クライアントが、特に自分に関連するドキュメントをポータルに配置するように要求するという考え方です。

これは移行であり、現在、ファイルは次の形式でグリッドに一覧表示されています。

ファイル名、ファイルサイズ、ファイルタイプ、ダウンロードリンク。

私が問題を抱えているのは、blobプロパティの取得です。

これが私が現在持っているもののコードスニペットです。

public void BindGridDocuments()
{
    var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnection"].ConnectionString);
    var blobStorage = storageAccount.CreateCloudBlobClient();
    CloudBlobContainer container = blobStorage.GetContainerReference("documents");
    var documentCollection = container.ListBlobs();
    foreach (var document in documentCollection)
    {
        string filename = document.Uri.ToString();

    }
}
4

1 に答える 1

14

このコードを試してください。コードは、BLOB コンテナー内のすべての BLOB がブロック BLOB 型であると想定しています。

ストレージ クライアント ライブラリ 2.0:

        CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;
        CloudBlobContainer blobContainer = storageAccount.CreateCloudBlobClient().GetContainerReference("images");
        var blobs = blobContainer.ListBlobs(null, true, BlobListingDetails.All).Cast<CloudBlockBlob>();
        foreach (var blockBlob in blobs)
        {
            Console.WriteLine("Name: " + blockBlob.Name);
            Console.WriteLine("Size: " + blockBlob.Properties.Length);
            Console.WriteLine("Content type: " + blockBlob.Properties.ContentType);
            Console.WriteLine("Download location: " + blockBlob.Uri);
            Console.WriteLine("=======================================");
        }

ストレージ クライアント ライブラリ 1.7:

        CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;
        CloudBlobContainer blobContainer = storageAccount.CreateCloudBlobClient().GetContainerReference("images");
        var blobs = blobContainer.ListBlobs(new BlobRequestOptions()
            {
                BlobListingDetails = BlobListingDetails.All,
                UseFlatBlobListing = true,
            }).Cast<CloudBlockBlob>();
        foreach (var blockBlob in blobs)
        {
            Console.WriteLine("Name: " + blockBlob.Name);
            Console.WriteLine("Size: " + blockBlob.Properties.Length);
            Console.WriteLine("Content type: " + blockBlob.Properties.ContentType);
            Console.WriteLine("Download location: " + blockBlob.Uri);
            Console.WriteLine("=======================================");
        }
于 2013-02-15T13:26:52.400 に答える