public int EliminarAlbumAwsS3(AwsS3EliminarAlbumDto entidad) { int respuesta = 0; try { string nombreDirectorio = "Album"; string url = string.Format("{0}{1}/", _urlAmazon, nombreDirectorio); string nombreArchivo = entidad.UrlImagen.Replace(url, string.Empty); using (var client = new AmazonS3Client(_llaveAmazon, _claveAmazon, RegionEndpoint.USEast2)) { var deleteObjectRequest = new DeleteObjectRequest { Key = nombreArchivo, BucketName = string.Format("red-social/{0}", nombreDirectorio) }; Task eliminar = Task.Run(() => { client.DeleteObjectAsync(deleteObjectRequest); }); eliminar.Wait(); if (eliminar.IsCompleted) { //eliminar de la base de datos LnAlbumImagen lnAlbumImagen = new LnAlbumImagen(); int resultadoEliminarBd = lnAlbumImagen.EliminarImagen(entidad.IdAlbumImagen); if (resultadoEliminarBd > 0) { respuesta = 1; } } } } catch (AmazonS3Exception exSe) { Log(Level.Error, String.Format("AmazonS3Exception: {0}", exSe)); } catch (Exception ex) { Log(Level.Error, String.Format("Exception: {0}", ex)); } return(respuesta); }
public async Task <ActionResult <AwsResponseEliminarDto> > EliminarImagenAlbum([FromBody] AwsS3EliminarAlbumDto entidad) { AwsResponseEliminarDto respuesta = new AwsResponseEliminarDto(); //long nuevoId = 0; string url = string.Empty; var result = await Task.FromResult(_lnS3Service.EliminarAlbumAwsS3(entidad)); if (result == 0) { respuesta.ListaError.Add(new ErrorDto { Mensaje = "Error al intentar eliminar" }); return(BadRequest(respuesta)); } respuesta.ProcesadoOk = 1; return(Ok(respuesta)); }