2012-03-29 5 views
1

Я как бы новичок в хранилище Blob, и мне нужно получить доступ к определенному файлу из памяти blob. i.e когда я набираю конкретную папку, он должен отображать все капли под ним.как искать определенный файл в хранилище blob

Может кто-нибудь помочь мне с этим

вот код, который я пытаюсь сделать.

if (AccountFileTransfer != null) 
{ 
    BlobClientFileTransfer = AccountFileTransfer.CreateCloudBlobClient(); 
    ContainerFileTransfer = BlobClientFileTransfer.GetContainerReference(CONTAINER); 


    CloudBlob blob = ContainerFileTransfer.GetBlobReference(txtFileSearch.Text); 
    if (blob.Uri == null) 
    { 
     System.Windows.Forms.MessageBox.Show("Not a Valid blob search"); 
    } 
    else 
    { 
     lvFileTransfer.Items.Add(blob.Uri); 
    } 
} 

ответ

0

Попробуйте

if (AccountFileTransfer != null) 
{ 

    CloudBlobClient blobClient = 
    new CloudBlobClient(blobEndpoint, 
         new StorageCredentialsAccountAndKey(accountName, accountKey)); 


    CloudBlobContainer container = blobClient.GetContainerReference(CONTAINER); 


    foreach (var blobItem in container .ListBlobs()) 
    { 
     lvFileTransfer.Items.Add(blobItem .Uri); 
    } 

} 
+0

этот код, который я уже пробовал, и он будет перечислять только корневую структуру, которая не идет в глубину или под папками – user1301657

1

Использование Azure Search для индексации и поиска файлов в хранилище Blob

0

Попробуйте это и если капля в директории в контейнере, в этом случае следующий формат контейнер .GetBlobReference ("Images /" + имя_файла);

public static bool BlobExists(CloudBlobContainer container, string fileName) 
    { 
     var blob = container.GetBlobReference(fileName); 

     try 
     { 
      blob.FetchAttributes(); 
      return true; 
     } 
     catch (StorageException e) 
     { 
      if (e.RequestInformation.HttpStatusCode == (int)HttpStatusCode.NotFound) 
      { 
       return false; 
      } 

     } 
     return false; 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^