private string ProcessUploadedFile(CuriositiesPutDTO model) { string uniqueFileName = null; if (model.Image != null) { string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Image.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.Image.CopyTo(fileStream); } } return(uniqueFileName); }
public async Task <string> ProcessFotoAsync(CuriositiesPutDTO model) { string uniqueFileName = null; if (model.Image != null) { uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Image.FileName; // Retrieve storage account from connection string. CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(StorageConnectionString); // Create the blob client. CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient(); // Retrieve a reference to a container. CloudBlobContainer container = blobClient.GetContainerReference("images"); // This also does not make a service call; it only creates a local object. CloudBlockBlob blockBlob = container.GetBlockBlobReference(uniqueFileName); await using (var data = model.Image.OpenReadStream()) { await blockBlob.UploadFromStreamAsync(data); } } return(uniqueFileName); }
public async Task <IActionResult> PutCuriosity(int id, [FromForm] CuriositiesPutDTO model) { if (!ModelState.IsValid) { return(BadRequest()); } var curiosity = await _context.Curiosities.FindAsync(id); if (curiosity == null) { ModelState.AddModelError("", $"Curiosity with id : ${id} not found"); return(NotFound(ModelState)); } string uniqueFileName = ""; if (model.Image != null) { if (curiosity.Image != null) { await _AzureFileService.DeleteCuriosityImageAsync(curiosity.Image); //string filePath = Path.Combine(webHostEnvironment.WebRootPath, // "images", curiosity.Image); //System.IO.File.Delete(filePath); } //if (model.ExistingImage != null) //{ // string filePath = Path.Combine(webHostEnvironment.WebRootPath, // "images", model.ExistingImage); // System.IO.File.Delete(filePath); //} //curiosity.Image = ProcessUploadedFile(model); uniqueFileName = await _AzureFileService.ProcessFotoAsync(model); curiosity.Image = uniqueFileName; } curiosity.City = model.City; curiosity.Coordinates = model.Coordinates; curiosity.Country = model.Country; curiosity.Description = model.Description; curiosity.Latitude = model.Latitude; curiosity.Longitude = model.Longitude; curiosity.Name = model.Name; curiosity.Period = model.Period; curiosity.Province = model.Province; curiosity.Region = model.Region; curiosity.Type = model.Type; //_context.Update(curiosity); _context.Entry(curiosity).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CuriosityExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }