示例#1
0
        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;
        }
示例#2
0
        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("");
        }
示例#3
0
        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;
        }