Пользователи могут загружать изображения при создании записи, когда вы редактируете эту запись и пытаетесь загрузить новые изображения, возникает ошибка «Этот BLOB-объект уже существует». Есть ли способ, которым я могу включить перезапись больших двоичных объектов с тем же именем в моем приложении?
Вот мой код, который обрабатывает процесс обновления.
Важно отметить, что я создаю три итерации изображения для приложения, поэтому я включил массив, содержащий эту информацию.
CarController.cs
private readonly int[] sizeArray = new int[] { 700, 350, 150 };
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create(Car car)
{
if (ModelState.IsValid)
{
//Create the Car
_carService.InsertCar(car);
//Get the ID of the newly created car
int id = car.Id;
//Define the container name for Azure Storage
string strContainerName = "uploads";
//Blob Client
BlobServiceClient blobServiceClient = new BlobServiceClient(accessKey);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(strContainerName);
//Iterate over the array of image sizes
foreach (var imageSize in sizeArray)
{
try
{
//Pass image to image processor and save to the blob location
string fileName = "car/" + id + "/car-image-" + imageSize + ".jpg";
Stream returnStream = ProcessImage(imageSize, car);
containerClient.UploadBlob(fileName, returnStream);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
return RedirectToAction(nameof(Index));
}
return View(car);
}