public int EliminarImagenGaleriaAwsS3(AwsS3EliminarGaleriaDto entidad) { int respuesta = 0; try { string nombreDirectorio = "Imagen"; 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 LnImagen lnImagen = new LnImagen(); int resultadoEliminarBd = lnImagen.Eliminar(entidad.IdImagen); 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 int SubirImagenGaleriaAwsS3(AwsS3RegistrarGaleriaDto entidad, ref long nuevoId, ref string url) { int respuesta = 0; try { url = _urlAmazon; string nombreDirectorio = "Imagen"; //string rutaAchivo = @"C:\TCI\STACE_GENERAMENSAJES\Log\17\10\19\StaceAg_20171019.log"; byte[] bytes = Convert.FromBase64String(entidad.ImagenStringBase64); //Encoding.ASCII.GetBytes(entidad.Imagen); using (var client = new AmazonS3Client(_llaveAmazon, _claveAmazon, RegionEndpoint.USEast2)) { //FileStream fs = new FileStream(rutaAchivo, FileMode.Open, FileAccess.Read); using (var ms = new MemoryStream(bytes)) { //fs.CopyTo(ms); string nombreArchivo = string.Format("{0}_{1}_{2}_{3}{4}{5}_{6}{7}{8}.{9}", entidad.IdUsuario, entidad.IdAlbum, entidad.IdImagen, DateTime.Now.Year.ToString("d4"), DateTime.Now.Month.ToString("d2"), DateTime.Now.Day.ToString("d2"), DateTime.Now.Hour.ToString("d2"), DateTime.Now.Minute.ToString("d2"), DateTime.Now.Second.ToString("d2"), entidad.ExtensionSinPunto); url = string.Format("{0}{1}/{2}", url, nombreDirectorio, nombreArchivo); var uploadRequest = new TransferUtilityUploadRequest { InputStream = ms, Key = nombreArchivo, //Path.GetFileName(rutaAchivo), BucketName = string.Format("red-social/{0}", nombreDirectorio), CannedACL = S3CannedACL.PublicRead }; var fileTransferUtility = new TransferUtility(client); //await fileTransferUtility.UploadAsync(uploadRequest); fileTransferUtility.Upload(uploadRequest); LnImagen lnImagen = new LnImagen(); respuesta = lnImagen.Registrar(new Entidad.Dto.Perfil.ImagenRegistrarDto { IdAlbumImagen = entidad.IdAlbum, Url = url }, ref nuevoId); //respuesta = ProcesarImagen(tipo, Convert.ToInt64(entidad.IdUsuario), url); } } } catch (AmazonS3Exception exSe) { Log(Level.Error, String.Format("AmazonS3Exception: {0}", exSe)); } catch (Exception ex) { Log(Level.Error, String.Format("Exception: {0}", ex)); } return(respuesta); }