Я использую Azure .Storage.Blobs version = 12.4.1. У меня есть конечная точка REST, которую я хочу использовать для загрузки больших двоичных объектов из учетной записи хранения.
Мне нужно передать результат в HttpResponseMessage , и я не хочу использовать MemoryStream. Я хочу передать результат прямо вызывающему клиенту. Есть ли способ этого добиться. Как получить загруженный BLOB-объект в содержимом HttpResponseMessage? Я не хочу использовать MemoryStream, так как будет много запросов на загрузку.
Класс BlobClient имеет метод DownloadToAsyn c, но для него требуется Stream в качестве параметра.
var result = new HttpResponseMessage(HttpStatusCode.OK);
var blobClient = container.GetBlobClient(blobPath);
if (await blobClient.ExistsAsync())
{
var blobProperties = await blobClient.GetPropertiesAsync();
var fileFromStorage = new BlobResponse()
{
ContentType = blobProperties.Value.ContentType,
ContentMd5 = blobProperties.Value.ContentHash.ToString(),
Status = Status.Ok,
StatusText = "File retrieved from blob"
};
await blobClient.DownloadToAsync(/*what to put here*/);
return fileFromStorage;
}