public Image SalvarImagem(DTOImagem dtoImagem) { dtoImagem.Imagem.RotateFlip(RotateFlipType.Rotate180FlipNone); dtoImagem.Imagem.RotateFlip(RotateFlipType.Rotate180FlipNone); var imagemArrumada = dtoImagem.Imagem.GetThumbnailImage(dtoImagem.MaxLargura, dtoImagem.MaxAltura, null, IntPtr.Zero); Image img; using (var mStream = new MemoryStream()) { imagemArrumada.Save(mStream, dtoImagem.FormatoImagem); var imagemEmBytes = mStream.ToArray(); if(dtoImagem.PastaDestinoRaiz != null) { bool isExists = Directory.Exists(dtoImagem.PastaDestinoRaiz); if (!isExists) Directory.CreateDirectory(dtoImagem.PastaDestinoRaiz); } using (var fileStream = new FileStream(dtoImagem.PastaDestino, FileMode.Create, FileAccess.Write)) { img = Image.FromStream(mStream); fileStream.Write(imagemEmBytes, 0, imagemEmBytes.Length); fileStream.Close(); } } return img; }
public ActionResult UploadImagem(string ext = "", string tempName = "") { if (Request.Files.Count > 0) { string tempPath = Server.MapPath("/Arquivos/Promocao/Temp/"); var stream = Request.Files[0].InputStream; byte[] file = new byte[stream.Length]; using (var memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream); file = memoryStream.ToArray(); } if (!Directory.Exists(tempPath)) Directory.CreateDirectory(tempPath); if (string.IsNullOrEmpty(tempName) || tempName.ToLower() == "undefined".ToLower()) tempName = Convert.ToString(Guid.NewGuid()); string extension = "." + ext; string filePath = string.Format("{0}{1}{2}", tempPath, tempName, extension); var imagem = Image.FromStream(stream); var dtoImagemNormal = new DTOImagem(); dtoImagemNormal.Imagem = imagem; dtoImagemNormal.MaxLargura = imagem.Height; dtoImagemNormal.MaxAltura = imagem.Width; dtoImagemNormal.FormatoImagem = ServicoImagem.RecuperaFormatoImagem(extension); dtoImagemNormal.PastaDestinoRaiz = tempPath; dtoImagemNormal.PastaDestino = filePath; ServicoImagem.SalvarImagem(dtoImagemNormal); return Content(string.Format("{0}|{1}|{2}", tempName, extension, DateTime.Now.Ticks)); } return Content(""); }
public bool SalvarImagemFinalPromocao(int idCliente, int idPromocao, string tempImg, string extension) { if (!string.IsNullOrEmpty(tempImg)) { var caminhoFotosMin = HttpContext.Current.Request.PhysicalApplicationPath + "\\Arquivos\\Promocao\\Min\\" + idCliente + "\\"; var caminhoFotosNormal = HttpContext.Current.Request.PhysicalApplicationPath + "\\Arquivos\\Promocao\\Normal\\" + idCliente + "\\"; var caminhoFotosTemp = HttpContext.Current.Request.PhysicalApplicationPath + "\\Arquivos\\Promocao\\Temp\\"; var arquivos = Directory.GetFiles(caminhoFotosTemp); var filePath = ""; if (arquivos.Count(a => Path.GetFileNameWithoutExtension(a) == tempImg) > 0) filePath = arquivos.FirstOrDefault(a => Path.GetFileNameWithoutExtension(a) == tempImg); string filePathMin = string.Format("{0}{1}{2}", caminhoFotosMin, idPromocao, extension); string filePathNormal = string.Format("{0}{1}{2}", caminhoFotosNormal, idPromocao, extension); var img = Image.FromFile(filePath); var dtoImagemNormal = new DTOImagem(); dtoImagemNormal.Imagem = img; dtoImagemNormal.MaxLargura = img.Height; dtoImagemNormal.MaxAltura = img.Width; dtoImagemNormal.FormatoImagem = RecuperaFormatoImagem(extension); dtoImagemNormal.PastaDestinoRaiz = caminhoFotosNormal; dtoImagemNormal.PastaDestino = filePathNormal; var dtoImagemMin = new DTOImagem(); dtoImagemMin.Imagem = img; dtoImagemMin.MaxLargura = 48; dtoImagemMin.MaxAltura = 48; dtoImagemMin.FormatoImagem = RecuperaFormatoImagem(extension); dtoImagemMin.PastaDestinoRaiz = caminhoFotosMin; dtoImagemMin.PastaDestino = filePathMin; SalvarImagem(dtoImagemNormal); SalvarImagem(dtoImagemMin); } return true; }