2

Как получить изображение, которое я сохранил в качестве Base64String в Windows Azure? Я знаю, как сохранить изображение как Base64String в Windows Azure, но я не знаю, как его получить.Извлечение изображения (Base64String) из хранилища Windows Azure

Сохранение данных в Windows Azure Storage, как Base64String:

private MemoryStream str; 

    str = new MemoryStream(); 

    WriteableBitmap wb; 

    wb = new WriteableBitmap(bmp); 

    wb.SaveJpeg(str, bmp.PixelWidth, bmp.PixelHeight, 0, 100); 

    Item item = new Item { ImageString = System.Convert.ToBase64String(str.ToArray()) }; 

    App.MobileService.GetTable<Item>().InsertAsync(item); 

Класс:

public class Item 
{ 
    public int Id { get; set; } 
    public string ImageString { get; set; } 
} 

ответ

2

Вы можете запросить изображение с помощью идентификатора (который будет возвращен после вызова InsertAsync):

private void RetrieveImage(int id) { 
    var item = await App.MobileService.GetTable<Item>().LookupAsync(id); 
    byte[] imageBytes = Convert.FromBase64String(item.ImageString); 
} 

Или получить все изображения:

private void RetrieveAllImages() { 
    var images = await App.MobileService 
     .GetTable<Item>() 
     .Select(i => Convert.FromBase64String(i.ImageString)) 
     .ToListAsync(); 
} 

Или запрос, используя произвольное свойство (вместо ид) - при условии, класс Item имеет свойство, называемое «Name»: более

var items = await App.MobileService.GetTable<Item>() 
    .Where(it => it.Name == "MyImage") 
    .ToEnumerableAsync(); 
var item = item.FirstOrDefault(); 
+0

Одна вещь, как я запрашиваю его помощью строка вместо id? – Challenger

+0

Обновлен ответ с помощью опции запроса - используйте метод 'Where'. – carlosfigueira

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