Я хотел бы загрузить изображение в указанный подкаталог c в моем контейнере хранения BLOB-объектов, и я не уверен, как это сделать. Посмотрев документацию, я вижу, что на GetBlobs()
есть перегрузка, которая позволяет вам указать префикс, но я не вижу его для загрузки. Вот мой метод, который обрабатывает это.
Место загрузки будет: uploads / car / 17999 /
CarController.cs
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create(Car car)
{
// Define the cancellation token.
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
if (ModelState.IsValid)
{
_carService.InsertCar(car);
int id = car.Id;
string pathPrefix = "car/17999";
string fileName = "car-image.jpg";
string strContainerName = "uploads";
BlobServiceClient blobServiceClient = new BlobServiceClient(accessKey);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(strContainerName);
//An example of how I would GET the blobs from a prefixed location, I don't know how to apply this to the upload part
//var blobs = containerClient.GetBlobs(0, 0, pathPrefix);
var blobs = containerClient.UploadBlob(fileName, car.ImageFile.OpenReadStream());
return RedirectToAction(nameof(Index));
}
return View(car);
}