protected void btnUpload_Click(object sender, EventArgs e) { try { if (Id < 1) { throw new Exception("Não é possível adicionar uma imagem antes de Salvar o contéudo do portal."); } //Extensões permitidas string[] extensoes = new string[] { "image/pjpeg", "image/jpeg", "image/gif", "image/x-png", "image/png" }; if (file.PostedFile.FileName == string.Empty) { throw new Exception("Informe o caminho da imagem."); } FileInfo infoArquivo = new FileInfo(file.PostedFile.FileName); bool arquivoInvalido = false; if (file.PostedFile.ContentLength > 4000000) { Mensagem1.Aviso("Tamanho da imagem é deve ser menor que 4 mb."); arquivoInvalido = true; } if (!arquivoInvalido) { arquivoInvalido = true; for (int i = 0; i < extensoes.Length; i++) { if (file.PostedFile.ContentType == extensoes[i]) { arquivoInvalido = false; break; } } if (arquivoInvalido) { Mensagem1.Aviso("Extensão do arquivo inválido. Só é permitido arquivos com extensão: .jpg, .png e .gif"); } } if (!arquivoInvalido) { string arquivo = DateTime.Now.ToString().Replace(":", "").Replace("/", "-") + infoArquivo.Extension; string caminho = ConfigurationManager.AppSettings["caminhoFTP"].ToString(); file.PostedFile.SaveAs(caminho + arquivo); Util.Util util = new Util.Util(); util.RedimensionarImagem(arquivo, caminho, 150, 79); PortalImagem objImagem = new PortalImagem(); objImagem.Imagem = infoArquivo.Name; objImagem.Diretorio = arquivo; objImagem.Portal = new Model.Entidade.Portal().Selecionar(Id); objImagem.Confirmar(); this.DesenharImagem(); } } catch (Exception ex) { this.DesenharImagem(); Mensagem1.Aviso("Erro ao fazer o upload da imagem. Motivo: " + ex.Message); } }
private void Selecionar() { Model.Entidade.Portal objPortal = new Model.Entidade.Portal(); objPortal.Tipo = "2"; IList <Model.Entidade.Portal> lsPortal; if (Request.QueryString["codigo"] != null) { objPortal.Codigo = Convert.ToInt32(Request.QueryString["codigo"]); lsPortal = objPortal.SelecionarporCodigo(); //carrega a lista } else { lsPortal = objPortal.SelecionarporTipo(0); } if (lsPortal != null) { for (int i = 0; i < lsPortal.Count; i++) { LiteralControl lc = new LiteralControl(@"<HR WIDTH=100%> <table> <tr> <td>Notícia:<b> " + lsPortal[i].Titulo + "</b></td>" + "</tr>" + "<tr><td>Data: " + lsPortal[i].Data.ToString("dd/MM/yyyy HH:mm") + "</td>" + "<tr>" + "<td>" + lsPortal[i].Descricao + "</td>" + "</tr>" + "</table>" ); Panel1.Controls.Add(lc); Panel pn = new Panel(); PortalImagem objPoralImagem = new PortalImagem(); objPortal.Codigo = lsPortal[i].Codigo; objPoralImagem.Portal = objPortal; IList <PortalImagem> lsImagem = objPoralImagem.SelecionarPorPortal(); foreach (PortalImagem ls in lsImagem) { string caminho = "../upload/Portal/" + ls.Diretorio; string caminhoTemp = "../upload/Portal/tmp/" + ls.Diretorio; LiteralControl lcImagens = new LiteralControl( "<a rel='gal" + i.ToString() + "' href='" + caminho + "' class='nyroModal' title='" + ls.Imagem + "' ><img src='" + caminhoTemp + "' Width=50px Height=50px/></a>" ); pn.Controls.Add(lcImagens); Panel1.Controls.Add(pn); } } } }
protected void Image_Click(object sender, ImageClickEventArgs e) { try { string arquivoTMP = (sender as ImageButton).ImageUrl.ToString(); FileInfo infoArquivoTMP = new FileInfo(arquivoTMP); string arquivo = ConfigurationManager.AppSettings["caminhoFTP"].ToString() + infoArquivoTMP.Name; //"e:/home/escola29ma/web/upload/Portal/" + infoArquivoTMP.Name; FileInfo infoArquivo = new FileInfo(arquivo); if (infoArquivo.Exists) { infoArquivo.Delete(); } if (infoArquivoTMP.Exists) { infoArquivoTMP.Delete(); } Model.Entidade.Portal objPortal = new Model.Entidade.Portal().Selecionar(Id); if (objPortal != null && objPortal.ListaImagem != null && objPortal.ListaImagem.Count > 0) { bool existe = false; int imagemBanco = 0; for (int i = 0; i < objPortal.ListaImagem.Count; i++) { if (infoArquivo.Name == objPortal.ListaImagem[i].Diretorio) { existe = true; imagemBanco = objPortal.ListaImagem[i].Codigo; objPortal.ListaImagem.Remove(objPortal.ListaImagem[i]); break; } } if (existe && imagemBanco > 0) { try { PortalImagem portal = new PortalImagem().Selecionar(imagemBanco); portal.Excluir(portal); } catch (Model.Base.GepexException.EBancoDados ex) { Mensagem1.Aviso(Comum.TraduzirMensagem(ex)); } catch (Model.Base.GepexException.ERegraNegocio ex) { Mensagem1.Aviso(ex.Message); } catch (Exception ex) { throw ex; } } } DesenharImagem(); } catch (Exception ex) { Mensagem1.Aviso(ex.Message.ToString()); } }