2017-05-03 51 views
0

我的Blob容器內的一些.png文件,我可以通過將文件名作爲參數來檢索文件:查詢的Blob容器檢索文件

var blob = container.GetBlockBlobReference(System.IO.Path.GetFileName(fileName));

但我想查詢Blob容器並獲得它包含的所有文件的列表。我會怎麼做?

public class FilesController : Controller 
    { 
     private CloudBlobContainer container; 
     private CloudStorageAccount storageAccount; 
     private CloudBlobClient blobClient; 
     private CloudTableClient tableClient; 
public FilesController() 
     { 
      this.storageAccount = CloudStorageAccount.Parse(_dbConnection.ConnectionAzure); 
      this.storageAccount.CreateCloudBlobClient(); 
      this.blobClient = storageAccount.CreateCloudBlobClient(); 
      this.container = blobClient.GetContainerReference("public/MyFolder"); 
      this.tableClient = storageAccount.CreateCloudTableClient(); 
     } 

public ActionResult MyMethod(string fileName) 
     { 
      var blob = container.GetBlockBlobReference(System.IO.Path.GetFileName(fileName)); 
     } 

回答

2

如何:

var list = container.ListBlobs(useFlatBlobListing: true); 
var listOfFileNames = new List<string>(); 

foreach (var blob in blobs) { 
    var blobFileName = blob.Uri.Segments.Last(); 
    listOfFileNames.Add(blobFileName); 
} 

return listOfFileNames; 

來源:Getting list of names of Azure blob files in a container?