Upload e redimensionamento de imagens com Asp.Net MVC 4 – Parte 01
Fala galera!
Fiquei um tempo “off” mas agora estou voltando com tudo! 🙂
Bom para deixar claro não sou especialista na Estrutura Asp.Net MVC, na verdade iniciei um projeto particular utilizando a estrutura a pouco tempo, estou lendo alguns livros e pesquisando alguns posts na internet (o que ajuda muito).
Então de acordo com as necessidades deste projeto vou tentar elaborar tutoriais bem práticos para a resolução de questões rotineiras, e como primeiro tutorial vou demonstrar uma maneira rápida e simples de realizar o upload e redimensionamento de imagens de diferentes tamanhos, utilizando a biblioteca ImageResizer, que até agora achei bacana e simples de utilizar.
Para todos os tutoriais que irei elaborar daqui pra frente em Asp.Net MVC irei utilizar este projeto. O projeto foi elaborado em Asp.Net MVC 4 e Razor e para ficar com um visual bacana utilizei o Bootstrap e o tema flatly disponível no Bootswatch.
O projeto é bem simples (clique aqui para baixá-lo) criei um novo projeto em Asp.Net MVC 4 do tipo “Basic”, escolhi a view engine “Razor” e em seguida adicionei uma pasta no projeto chamada “Imagens”, onde de fato ficarão armazenadas as imagens que serão carregadas. Além disso adicionei os arquivos do Bootstrap, o tema Flatly e realizei algumas alterações na View _Layout.cshtml e na Index da Home ficando com este layout:
E na View Index do Controller Imagem o seguinte layout, onde de fato será o upload e o redimensionamento das imagens e o gerenciamento das mesmas:
Nesta primeira parte do não vou iniciar no que se propõe o tutorial, ao invés disso vou demonstrar como criar um mecanismo simples de mensagens personalizadas utilizando o modal do tema Flatly. O mecanismo irá funcionar da seguinte maneira: iremos verificar se existe alguma mensagem em uma Session chamada “alert”, se existir iremos exibir o modal e logo após a sua exibição iremos “zerar” a Session criada.
Para isso vamos realizar e seguinte alteração na View _Layout.cshtml onde está a nossa janela modal:
<!--na div modal vamos setar o id para "divMeuModal"--> <div id="divMeuModal" class="modal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <!--Alteramos o texto do h4 para o texto abaixo--> <h4 class="modal-title">:: Informação ::</h4> </div> <div class="modal-body"> @{ <!-- E aqui verificamos se existe algo na Session["alert"] --> <!-- caso exista inserimos a mensagem no corpo do modal --> if (Session["alert"] != null) { <p> @Session["alert"].ToString() </p> } } </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" data-dismiss="modal">Ok</button> </div> </div> </div> </div>
Feita as alterações precisamos agora criar um código para gerar um script para exibir o modal caso tenha algo armazenado na session e em seguida limpar a session, pois a mensagem já foi mostrada para o usuário.
<script src="js/bootstrap.min.js"></script> <!-- Verifico se tem algo na session caso tenha --> @{ if (Session["alert"] != null) { <!-- é gerado o scrip e exibido a modal --> <script> $(function () { $("#divMeuModal").modal(); }); </script> <!-- logo após a exbição faço a Session receber null --> Session["alert"] = null; }; } @RenderSection("scripts", required: false)
Pronto! Agora sempre que for necessário exibir uma mensagem ao usuário, como por exemplo uma mensagem de sucesso logo após o upload das imagens, basta inserir a mensagem desejada na Session que automaticamente será exibida na modal para o usuário.
Para testar basta ir no Controller Home e inserir o seguinte código na ActionResult Index:
public ActionResult Index() { //Session recebe uma mensagem de teste Session["alert"] = "Mensagem de teste!"; return View(); }
Modal exibido:
Utilizei como referência para a criação do mecanismo de mensagem este video disponibilizado pela Softmark onde o professor Ricardo Maroquio ensina como realizar um controle de usuários usando SimpleMembership com ASP.NET Web Forms (Recomendo a visualização!!! Material de qualidade).
Bom pessoal é isso! No próximo post vamos começar de fato com o upload e redimensionamento de imagens e lembrando que este é um simples exemplo que deve ser otimizado e melhorado de acordo com sua necessidade.
E lembrando que minha intenção é de fato compartilhar conhecimento, como disse estou iniciando os estudos e fiquem a vontade para propor melhorias! Abraço e até a próxima!
O download do projeto até esta parte pode ser feito aqui!
Curso Técnico em Informática
Olá pessoal!
Você que reside em Marataízes, Itapemirim ou região!
Uma ótima oportunidade de qualificar-se para o mercado de trabalho e aprender uma nova profissão e o que é melhor, de forma gratuita com alimentação e transporte.O curso Técnico em Informática disponível na escola E. E. E. M. “Professor José Veiga da Silva”, habilita o profissional como Técnico em Informática e conta com uma carga horária total de 1200h. Todo o curso é presencial e se divide em 3 (três) módulos, abaixo segue as disciplinas contidas nos mesmos:
Módulo I (390h)
- Organização de Empresas
- Inglês Técnico
- Aplicativos para Automação de Escritórios
- Instalação de Computadores
- Sistemas Operacionais
- Gerenciamento de Projetos
- Criação e Editoração de Imagens
- Algoritmo e Lógica de Programação
Módulo II (405h)
- Linguagem de Programação
- Banco de Dados
- Linguagem de Programação Orientada a Objetos
- Análise e Projeto de Sistemas
- Documentação de Sistemas
- Projeto de Programação
Módulo III (405h)
- Arquitetura e Projeto de Redes
- Programação e Web Design
- Redes, Protocolos e Segurança da Informação
- Administração e Sistemas Operacionais de Rede
- Internet
As inscrições se iniciam na próxima terça-feira dia 10/06/2014 a partir das 10h, por meio do site da SEDU.
Aqui está o Edital do Processo Seletivo e Aqui você pode realizar a sua Inscrição!
Qualquer dúvida é só entrar em contato:
Celular: (28) 99974-8059
E-mail: pablobatistacardoso@hotmail.com
Facebook: https://www.facebook.com/PabloBatistaCardoso
Configurações de Usuário C#
De novo na área galera!
Hoje vou falar de um recurso, que ao meu ver é pouco conhecido apesar de existir desde o .Net Framework 2.0, este recurso é chamado de Configurações (Settings) que se divide em dois Escopos são eles: Configurações de Usuário e Configurações de Aplicativo, hoje o foco será nas Configurações de Usuário.
Segundo a documentação da Microsoft este recurso pode ser usado para criar e acessar valores que são persistidos entre as seções de execução do aplicativo. Estes valores são chamados de Configurações, elas podem representar preferências do usuário ou informações valiosas que o aplicativo poderá utilizar como por exemplo: preferência de cores do usuário, String de Conexão com a base de dados, um texto, uma data, etc..
Ou seja, as configurações permitem que você tanto persista informações que são fundamentais para o aplicativo fora do código quanto crie perfis que armazenem as preferências de usuários individuais.
Vamos ao exemplo! 😉
Neste exemplo vou criar uma Configuração de Usuário em tempo de design, que irá armazenará uma cor da sua preferência para que seja o BackColor de do formulário.
Para criar a Configuração de Usuário dê um clique com o botão direito do mouse em seu projeto, escolha a opção “Properties” em seguida no Menu esquerdo escolha a opção “Settings”.
- Na coluna Name digite: “CorDeFundo” (Esse será o nome da Configuração);
- Na coluna Type escolha a opção: “System.Drawing.Color” (Ou seja será do tipo Color);
- Na coluna Scope escolha a opção: “User” (Será uma Configuração de Escopo de Usuário);
- Na coluna Value escolha uma cor padrão: Escolhi a cor Gray;
Uma vez criada a nossa Configuração de Usuário em tempo de Design, adicione um componente ColorDialog ao formulário e um Botão.
E faça a seguinte alteração no Construtor e no Click do Botão:
using System; using System.Windows.Forms; namespace ConfiguracoesDeUsuario { public partial class Form1 : Form { //Construtor do formulário public Form1() { InitializeComponent(); //Seto a cor definida pelo usuário this.BackColor = Properties.Settings.Default.CorDeFundo; } //Evento Click do botão private void btnEscolhaCor_Click(object sender, EventArgs e) { //Se o resultado do dialogo com o colorDialog1 //for Ok if (colorDialog1.ShowDialog() == DialogResult.OK) { //seto a configuração de usuário //com a cor escolhida Properties.Settings.Default.CorDeFundo = colorDialog1.Color; //Salvo a alteração Properties.Settings.Default.Save(); //Atualizo a cor do formulário //com a alteração feita Configuração de usuário this.BackColor = Properties.Settings.Default.CorDeFundo; } } } }
Desta maneira é mantido a opção de cor da preferência do usuário, lembrando que este recurso pode ser utilizado para manter diversos tipos de informação pertinente a aplicação como por exemplo String de Conexão.
O download do exemplo pode ser feito aqui!!!
E isso ai e até a próxima!!!