Как передать изображение из хранилища BLOB-объектов Azure, как если бы оно было размещено в моем веб-приложенииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как передать изображение из хранилища BLOB-объектов Azure, как если бы оно было размещено в моем веб-приложении

Сообщение Anonymous »

У меня есть:
  • Веб-приложение, созданное с использованием Angular (

    Код: Выделить всё

    myapp.com
    )
  • API C# REST, вызываемый веб-приложением (

    Код: Выделить всё

    myapi.com
    )
  • Учетная запись хранения BLOB-объектов Azure с частными и общедоступными контейнерами (

    Код: Выделить всё

    myblob.com
    )
У меня есть изображение в частном контейнере больших двоичных объектов Azure, myblob.com/image.png. Я хотел бы использовать это изображение так, как если бы оно исходило непосредственно из веб-приложения (

Код: Выделить всё

myapp.com/media/image.png
) с намерением ссылаться на него как на атрибут src тега img в другом месте приложения.
До сих пор мне удавалось для обслуживания изображения из моего REST API (

Код: Выделить всё

myapi.com/media/image.png
), создав пользовательскую конечную точку «Медиа», которая принимает путь к изображению, генерирует URL-адрес SAS для большого двоичного объекта Azure и перенаправляет запросы с myapi.com/media/image.png на SAS. URL-адрес.

Код: Выделить всё

[HttpGet("{path}")]
public IActionResult GetFileAsync(string path, CancellationToken cancellation)
{
string containerName = "mycontainer";
var blobContainerClient = _blobServiceClient.GetBlobContainerClient(containerName);
var blobClient = blobContainerClient.GetBlobClient(path);

var sasUri = blobClient.GenerateSasUri(
Azure.Storage.Sas.BlobSasPermissions.Read,
DateTimeOffset.UtcNow.AddHours(1));
var signedUrl = blobClient.Uri + sasUri.Query;
return Redirect(signedUrl);
}
Это желаемое поведение: создание постоянной ссылки на изображение и скрытие URL-адреса токена SAS от пользователя, но в идеале я бы хотел использовать myapp.com вместо myapi.com. Стоит ли мне искать маршруты Angular для достижения этой цели или есть более простой способ добиться этого? Является ли такое запутывание URL-адресов вообще хорошей практикой?

Подробнее здесь: https://stackoverflow.com/questions/793 ... my-web-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»