Отображение BLOB-объектов / фотографий, хранящихся в хранилище Azure в мобильном приложении Xamarin - PullRequest
1 голос
/ 30 мая 2019

Попытка разработать мобильное приложение Xamarin Forms, которое отображает большие двоичные объекты, хранящиеся в контейнере Azure-Storage, через API.

Текущий процесс идет так API> BLOB-объект Azure-Storage> Отображается в мобильном приложении Xamarin.

Подключение к хранилищу Azure с использованием ключа учетной записи хранения.

Проблема в том, что капли не отображаются в мобильном приложении, если для общедоступного доступа в контейнере установлено значение «private». Если для параметра общедоступного доступа к контейнеру установлено значение «blob», фотографии отображаются в приложении xamarin Mobile.

Фото Для иллюстрации. Фото выпуска

Код ниже.

string storageConnectionString 
Environment.GetEnvironmentVariable("storageconnectionstring");

CloudStorageAccount storageAccount;
if (CloudStorageAccount.TryParse(storageConnectionString, out 
storageAccount))
{
// If the connection string is valid, proceed with operations against 
Blob storage here.
...
}
else
{
//Error
}
[enter image description here][1]CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();

Как сделать контейнер закрытым, пока в мобильном приложении по-прежнему отображаются капли?

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Большое спасибо за вашу помощь @ justjoshin.

SAS - это ответ.Оттуда вы можете сгенерировать токен SAS, который вы добавляете после URL-адреса большого двоичного объекта, чтобы отобразить его, даже если контейнер является личным.

Надеюсь, это кому-нибудь еще поможет.

0 голосов
/ 30 мая 2019

Я думаю, что вы используете неправильный тип соединения с хранилищем BLOB-объектов Azure.

Вам необходимо использовать общий ключ.

аутентификация с общим ключом с хранилищем BLOB-объектов Azure

Вам потребуется сгенерировать новую подпись общего доступа.

создать новый SAS

Надеюсь, это направит вас в правильном направлении.

...