Мобильное приложение Azure — загрузите изображение и обработайте его в серверной части

Я следую это руководство, и я заработал, когда пробовал около 6 месяцев назад. Теперь я создаю новый проект с помощью мобильных приложений Azure. Это все еще то же самое? И теперь у меня есть новое требование. Это задание для колледжа, и мне нужно обработать загруженное изображение, чтобы преобразовать его в оттенки серого и изменить его размер на сервере. Как я могу сделать это в Azure? Я знаю, что могу легко обработать изображение в клиенте, но появилось новое требование, согласно которому изображение должно обрабатываться на сервере. Мой объект данных выглядит так:

public class Photo : EntityData
    {
        public string ContainerName { get; set; }

        public string ResourceName { get; set; }

        public string SasQueryString { get; set; }

        public string ImageUri { get; set; }

        public string Caption { get; set; }

        public string Base64Image { get; set; }
    }

У меня есть идея преобразовать его в строку Base64. Но похоже, что я не могу получить растровое изображение/изображение из внутреннего приложения Azure .NET.


person albilaga    schedule 12.12.2015    source источник


Ответы (1)


Один из подходов заключается в том, чтобы вы следовали версии учебника C#, на который вы ссылались, чтобы сначала загрузить исходное изображение с клиента с помощью механизма токена SAS в этом руководстве. Затем вы можете сделать второй запрос от вашего клиента для обработки изображения — этот второй запрос будет просто POST к пользовательскому API, который получает URI изображения. Затем в серверной части вы можете использовать пакет SDK для хранилища Azure, чтобы прочитать образ из большого двоичного объекта, обработать его и сохранить новый образ либо в том же месте, либо как новый образ. Затем этот API возвращает клиенту URI конечного изображения.

Второй подход, который немного сложнее, заключается в использовании веб-задания для обработки изображений, как описано в этот пост. Следуя этому маршруту, ваш клиент будет загружать исходное изображение, как и раньше, а веб-задание будет обрабатывать изображение асинхронно и обновлять хранилище новым изображением, а также обновлять запись базы данных фотографий с возможным новым URI изображения по завершении. При таком подходе может быть задержка в пару секунд, прежде чем это изображение будет полностью обработано и запись Photo будет обновлена, поэтому это действительно зависит от сценария вашего приложения. Однако такой подход может лучше масштабироваться, особенно если обработка изображений занимает некоторое время.

person mathewc    schedule 12.12.2015