Я пытаюсь аккуратно подключить метод, чтобы получить список больших двоичных объектов в указанном контейнере и вернуть его в представление в моем ASP. NET основном приложении. Глядя на документацию Microsoft, я не вижу никаких примеров того, как это делается, за исключением консольного приложения, но это вызывает у меня большую путаницу по поводу реализации.
Вот код, начинающийся с метода Edit
моего HomeController
. Это достаточно просто, id
передается и данные возвращаются, этот Id передается методу BlobStorageService
ListBlobsAsync
для определения правильного контейнера для всех файлов.
HomeController / Редактировать
[HttpGet]
public IActionResult Edit(int id)
{
var car = _carService.GetCar(id);
BlobStorageService objBlob = new BlobStorageService(accessKey);
objBlob.ListBlobsAsync(car.Id.ToString());
return View(car);
}
Вот мой BlobStorageService.cs
BlobStorageService
public async void ListBlobsAsync(string id)
{
//Folder Structure /uploads/car/<id>/contents
string strContainerName = "uploads";
string pathPrefix = "car";
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(accessKey);
CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference(strContainerName);
CloudBlobDirectory blobDirectory = cloudBlobContainer.GetDirectoryReference(pathPrefix);
CloudBlockBlob blockBlob = blobDirectory.GetBlockBlobReference(id);
await blockBlob.DownloadBlockListAsync();
}
На данный момент я застрял, это этот подход корректен для перечисления содержимого моего определенного каталога, и если да, то как мне затем вернуть это представление, которое будет использоваться?