В формах Xamarin я пытаюсь загрузить изображения BLOB-объектов из Azure и сохранить их локально. Приведенный ниже код работает, но на данный момент все, что я могу сделать, это просмотреть названия каждого изображения, я борюсь с частью загрузки.
Второй фрагмент кода ниже показывает, что, по моему мнению, должно быть, но я не уверен, что следует передать в GetBlockBlobReference, или, скорее, где его найти, поэтому в основном я хочу перейти от перечисления изображений к завершению загрузки. Кто-нибудь может подсказать, что мне нужно сделать?
public async Task ProcessAsync()
{
storageAccount = CloudStorageAccount.Parse(Resx.Apis.BlobStorageDev);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(Resx.AppResources.blobContainer);
BlobContinuationToken blobContinuationToken = null;
do
{
var results = await container.ListBlobsSegmentedAsync(null, blobContinuationToken);
blobContinuationToken = results.ContinuationToken;
await DownloadAsync(results);
foreach (IListBlobItem item in results.Results)
{
// here we'll check against what's in local, download if needed
Debug.WriteLine(item.Uri);
}
} while (blobContinuationToken != null);
}
бит загрузки:
CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(???);
foreach (var listBlockItem in await cloudBlockBlob.DownloadBlockListAsync(BlockListingFilter.All, null, null, null))
{
}