sábado, 1 de março de 2014

Jquery Multiple File Upload Plugin ASP.NET


Olá Programadores!

Neste tutorial, estaremos aprendendo como trabalhar com o plugin Jquery Multiple File Upload, que é responsável por gerenciar as requisições de arquivo entre cliente e servidor. 

Vantagens
* Multi-linguagem
* Personalização
* Layout intuitivo
* Validações
* Eventos

O tutorial foi divido em dois módulos, o primeiro, o lado frond-end e o segundo, back-end.

1º Módulo Frond-end

1.1 Adicionar os cdn's de css e js, entre a tag <head> e </head>

<link href="http://hayageek.github.io/jQuery-Upload-File/uploadfile.min.css" rel="stylesheet" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://hayageek.github.io/jQuery-Upload-File/jquery.uploadfile.min.js"></script>

1.2 Adicionar a div, responsável pela interação dos uploads, entre a tag <body> e </body>

<div id="fileuploader">Selecionar Arquivo</div>

1.3 Configuração do plugin.

<script>
            $(document).ready(function () {
                $("#fileuploader").uploadFile({
                    url: "HandlerFoto.ashx",
                    fileName: "file",

                    maxFileSize: 4194304,
                    maxFileCount: 10,
                    multiple: true,
                    allowedTypes: "jpg,png,gif",
                    showStatusAfterSuccess: false,
                   
                    dragDropStr: "<span> ou Arraste pra cá! </span>",
                    doneStr: "Enviado",
                    abortStr: "Cancelar",
                    extErrorStr: "Extensão não permitida.",
                    sizeErrorStr: "Foi ultrapassado o tamanho máximo para upload de arquivo",
                    maxFileCountErrorStr: "Foi ultrapassado o limite de upload.",
                   
                    afterUploadAll: function () {
                        alert("Arquivo(s) enviado com sucesso.");
                    },
                   
                });
            });
</script>

Finalizado o 1º Módulo.

2º Módulo Back-end

2.1 Criar uma handler chamado HandlerFoto.ashx

Adicionar no método ProcessRequest o trecho de código a seguir.

 HttpPostedFile file = context.Request.Files["file"];

if (file != null)
{
   file.SaveAs(@"c:\\tmp\" + file.FileName);
}


Configurando  o plugin

Textos

dragDropStr: trecho do drag-and-drop. Ex: <span> ou arraste pra cá! </span>.
abortStr: Botão responsável por cancelar o upload: Ex: Cancelar.
doneStr: Botão responsável por dizer upload realizado com sucesso. Ex: Enviado.
extErrorStr: Mensagem caso a extensão seja diferente da definida na propriedade allowedTypes.
sizeErrorStr: Mensagem caso ultrapasse o limite de tamanho definido na propriedade maxFileSize.
maxFileCountErrorStr: Mensagem caso ultrapasse o limite de upload definido na propriedade maxFileCount.

Validações

maxFileSize: tamanho máximo do arquivo em bytes. Ex: 4194304 = 4 MB.
maxFileCount: Quantidade máxima de arquivo para upload. Ex: 10.
multiple: Habilitar múltiplos arquivos enviado ao servidor. Ex. true ou false.
allowedTypes: Extensões permitidas: Ex: jpg,png,gif.
showStatusAfterSuccess: Ao finalizar o upload de um arquivo, retira a div.

Eventos

onSuccess: Ao finalizar um arquivo com sucesso.
onError: Erro em um arquivo.
afterUploadAll:  Ao concluir todos os uploads.

Pronto, através desse plugin é possível ter um layout intuitivo com o usuário.



segunda-feira, 27 de janeiro de 2014

FileUpload Multiple ASP.NET C#


Neste tutorial estaremos aprendendo como fazer:
- Upload de vários arquivos
- Filtrar a seleção de arquivos
- Selecionar mais de um arquivos
- Salvar em uma pasta.

1º Preparar o layout do site.

Adicione a sessão dentro da tag <form>


<asp:FileUpload runat="server" ID="fuImagem" accept=".jpg,.png" AllowMultiple="True" />

O que é importante aqui?
O atributo accept é responsável por filtrar a seleção dos arquivos. Exemplo
Arquivo de imagem = image/*
Arquivo de video = video/*
Arquivo de audio = audio/*
Mais de um arquivo = .jpg, .png, .bmp

Lista completa dos arquivos suportados Clique aqui

O atributo AllowMultiple é responsável por selecionar mais de um arquivo quando esta setado para true.



2º Preparar o code behind (F7)
Para fazer o upload de vários arquivos é preciso fazer um laço de repetição, nesse caso, estaremos utilizado o for.

O c# guarda os arquivos do controle fileupload em Context.Request.Files.

Feito isso, precisamos tratar um arquivo de cada vez, então, utilizaremos a classe HttpPostedFile que contém as propriedades: nome do arquivo, tamanho, mime type e o arquivo em si.

A seguir um exemplo:

protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < Context.Request.Files.Count; i++)
                {
                    HttpPostedFile file = Context.Request.Files[i];
                    string nome = file.FileName;
                    const string endereco = @"c:\tmp\";
                    file.SaveAs(endereco + nome);
                }

                lblMensagem.Text = "Salvo com sucesso";


            }
            catch (Exception ex)
            {
                lblMensagem.Text = "Houve um erro: " + ex.Message;
            }
        }

A segui uma vídeo aula.





PrintScreen do tutorial.

sábado, 23 de março de 2013

Enviar Email com C# ASP.NET

Olá Pessoal, segue um bom código para envio de email usando ASP.NET C#, mas antes dizer vamos saber algumas curiosidades sobre o email.


1. Qual foi a primeira mensagem de E-mail?

Ray Tomlinson é conhecido como a primeira pessoa a enviar uma mensagem via correio eletrônico.
Tomlinson não foi especificamente encarregado de desenvolver o e-mail, mas ele trabalhava em aplicações úteis para o projeto do MIT ARPANET (que mais tarde evoluiu para a Internet). Ele se dedicou a criar o e-mail porque para ele parecia ser uma idéia perfeita.
O primeiro e-mail foi enviado entre dois computadores lado a lado. Tomlinson diz que não consegue lembrar o conteúdo da primeira mensagem, mas é provável que tenha sido um “teste 123″ ou algo assim.

2. Qual a origem da palavra Spam?

Não é certo, mas o primeiro spam teria sido enviado em 5 de março de 1994 pelos advogados Canter e Siegel. Eles o fizeram propaganda sobre uma loteria em um grupo de discussão que não tinha nada a ver com o assunto, o que revoltou muitos assinantes do grupo.
Já a palavra Spam é complicado. Existe um presunto enlatado nos Estados Unidos de nome SPAM® escrito em letras maiúsculas com marca registrada pela Hormel Foods desde 1930. A empresa aliás não gosta nada de ter seu produto associado a algo nocivo e indesejável como os Spams de internet.
Mas a referência ao produto é inevitável pois a origem mais aceita vem de uma cena do programa de TV “Monty Python”, onde alguns vikings muito inconvenientes repetiram infinitas vezes a palavra “spam”, em referência justamente ao enlatado norte-americano.

3. Qual é a mais comum e-mail a senha?

Por incrível que pareça, “123456″ é a líder. Quando 10 mil senhas do Hotmail vazaram, a combinação “123456″, também liderou a lista da mais comum. Portanto, não poupe criatividade na hora de escolher sua senha. Apele para músicas e livros preferidos e faça uma combinação de letras e números para proteger suas informações.

4. Como se escreve e-mail?

Pode ser e-mail, email, E-Mail, E-mail ou eMail. Depende de onde você for consultar. Muitos dicionários preferem “email”, sem o hífen. Já a Associated Press Stylebook (Manual de Redação e Guia sobre o Direito de Mídia da Associated Press) insiste em ver a palavra como uma abreviatura de “correio eletrônico” e, portanto, com hífen “e-mail”. Esta, a meu ver é a mais correta.

5. Como é chamado o sinal @?

Em português dizemos “arroba”, já na versão em inglês, o “@” é conhecido apenas como “at”. Conheça mais algumas:
E em italiano, é “chiocciolina”; em livre tradução: pequeno caracol.
Em holandês é “apestaart”; em livre tradução: “rabo de macaco”.
Em sueco, “snabel-a”; em livre tradução: tromba de elefante.

6. Quando foi enviado o primeiro e-mail do espaço?

A primeira mensagem de correio-eletrônico vinda do espaço foi enviada em 1991 pela tripulação da STS-43 Atlantis, através do software AppleLink em um computador Macintosh.


Bom, segue o código abaixo:


private void EnviarEmail(string assunto, string corpoEmail)
{
    //Define os dados do e-mail
    string nomeRemetente = "Meu Nome";
    string emailRemetente = "meu email";
    string senha = "minha senha para acessar meu email";
 
    //Host da porta SMTP
    //Exemplo smtp.gmail.com
    string SMTP = "host do servidor do email"; 
 
    string emailDestinatario = "Email que será enviado";
    //string emailComCopia        = "email@comcopia.com.br";
    //string emailComCopiaOculta  = "email@comcopiaoculta.com.br";
 
    string assuntoMensagem = assunto;
    string conteudoMensagem = corpoEmail;
 
    //Cria objeto com dados do e-mail.
    System.Net.Mail.MailMessage objEmail = new System.Net.Mail.MailMessage();
 
    //Define o Campo From e ReplyTo do e-mail.
    objEmail.From = new MailAddress(nomeRemetente + "<" + emailRemetente + ">");
 
    //Define os destinatários do e-mail.
    objEmail.To.Add(emailDestinatario);
 
    //Enviar cópia para.
    //objEmail.CC.Add(emailComCopia);
 
    //Enviar cópia oculta para.
    //objEmail.Bcc.Add(emailComCopiaOculta);
 
    //Define a prioridade do e-mail.
    objEmail.Priority = System.Net.Mail.MailPriority.Normal;
 
    //Define o formato do e-mail HTML (caso não queira HTML alocar valor false)
    objEmail.IsBodyHtml = true;
 
    //Define título do e-mail.
    objEmail.Subject = assuntoMensagem;
    
    //Define o corpo do e-mail.
    objEmail.Body = conteudoMensagem;
 
 
    //Para evitar problemas de caracteres "estranhos", configuramos o charset para "ISO-8859-1"
    objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
    objEmail.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
 
 
    // Caso queira enviar um arquivo anexo
    //Caminho do arquivo a ser enviado como anexo
    //string arquivo = Server.MapPath("arquivo.jpg");
 
    // Ou especifique o caminho manualmente
    //string arquivo = @"e:\home\LoginFTP\Web\arquivo.jpg";
 
    // Cria o anexo para o e-mail
    //Attachment anexo = new Attachment(arquivo, 
    //System.Net.Mime.MediaTypeNames.Application.Octet);
 
    // Anexa o arquivo a mensagem
    //objEmail.Attachments.Add(anexo);
 
    //Cria objeto com os dados do SMTP
    System.Net.Mail.SmtpClient objSmtp = new System.Net.Mail.SmtpClient();
 
    //Alocamos o endereço do host para enviar os e-mails  
    objSmtp.Credentials = new System.Net.NetworkCredential(emailRemetente, senha);
    objSmtp.Host = SMTP;
    objSmtp.Port = 587;
    //Caso utilize conta de email do exchange deve habilitar o SSL
    //objEmail.EnableSsl = true;
 
    //Enviamos o e-mail através do método .send()
    try
    {
        objSmtp.Send(objEmail);
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        //excluímos o objeto de e-mail da memória
        objEmail.Dispose();
        //anexo.Dispose();
    }
}


quinta-feira, 17 de janeiro de 2013

Javascript - Visão Geral


Javascript


   Javascript é uma linguagem de programação que permite ao desenvolvedor criar ações em suas páginas web. "O que é Javascript ?", "Como nasceu Javascript" são algumas perguntas que o artigo ira responder.
   Javascript é uma linguagem que pode ser utilizada para profissionais e para quem esta iniciando o desenvolvimento de sites e aplicações web. Ela não requer compilação já que a linguagem é do lado cliente (client-side), sendo assim, o navegador fica responsável por interpretar.
   Muitos confundem Java com Javascript, mas ambas as linguagens são diferentes e têm suas características únicas. Javascript tem a vantagem de ser incorporada em qualquer página web, pode ser executada sem a necessidade de instalar um outro programa.
   Java, por outro lado, tem a principal característica de ser uma linguagem independente de plataforma.Você pode criar qualquer tipo de programa que pode ser executada em qualquer computador, devido às suas características é também amplamente utilizada para internet (JSP ,JSF).
   Como resumo, podemos dizer que o Javascript é uma linguagem de script baseada em protótipos, enquanto o Java é uma linguagem orientada a objetos.

O que é Javascript ?


   Javascript é uma linguagem com várias possibilidades de uso, e usada desde em pequenas aplicações como em aplicações maiores. Com Javascript podemos criar diferentes efeitos e interagir com usuários.
   Esta linguagem tem várias características  entre elas, podemos citar que é uma linguagem baseadas em ações. Além disso, é uma linguagem que usa Windows e X-Windows em sua grande parte de programação que é focada em descrever objetos, sendo assim, como exemplo, para escrever funções que respondam aos movimentos do mouse, aberturas, uso de chaves, página de carregamento, entre outros.
   Ressalta-se que há dois tipos de Javascript: O primeiro é aquele que é executada no cliente, este é o Javascript em si, embora tecnicamente chamado Navigator Javascript, mas também há um Javascript que roda no servidor é mais recente e é chamado LiveWire Javascript.

Como nasceu Javascript?


   Javascript nasceu com a necessidade de permitir aos desenvolvedores de sites, que páginas web permitisse interagir com os usuários, já que precisava criar sites com maior complexidade. O HTML permitia criar páginas estáticas onde se podia mostra textos com estilos, mas não com a necessidade de interagir com os usuários.
   Em 1990, Nestcape criou Livescript: as primeiras versões da linguagem foram principalmente dedicada aos pequenos grupos de desenvolvedores Web que não necessitava utilizar um compilador, e nenhuma experiência em programação orientada a objetos.
   A medida que novas versões estavam sendo disponível a esta linguagem incluía novos componentes que deram grande potencial a linguagem, mas infelizmente o desenvolvimento foi desativado, porque a Nestcape parou de desenvolver novas versões.
   Em dezembro de 1995, Netscape e Sun Microsystems (Criadora da linguagem Java) , se uniram para desenvolver um projeto em conjunto, para reintroduzir esta linguagem com o nome de Javascript. Em resposta a popularidade do Javascript, a Microsoft lançou a sua própria linguagem de script, VBScript (uma pequena versão do Visual Basic).
   Em 1996, a Microsoft está interessada em competir com Javascript, e lança a linguagem chamada JScript, introduzida em navegadores Internet Explorer. Apesar das várias críticas que são feitas à linguagem Javascript, esta é uma das linguagens de programação mais populares para a web.
   O Javascript é uma tecnologia que sobreviveu por mais de 10 anos, é fundamental na web, junto com a padronização da "European Computer Manufacturers Association" (ECMA) (mais tarde adotada pela ISO) e W3C DOM, Javascript é considerado por muitos desenvolvedores web como a base para próxima gerações de aplicações web dinâmicas no lado do cliente.
   A uniformização do Javascript começou em conjunto com a ECMA em novembro de 1996. Este padrão foi adotada em junho de 1996 e depois também pela "International Organization for Standardization" (ISO).      
   O DOM por sua sigla "Document Object Model" ou Modelo de Objetos de Documento, foi projetado para evitar incompatibilidades.

Onde posso ver funcionando Javascript?

Entre os muitos serviços que são feitos com o Javascript na internet incluem:
  • Correio
  • Chat
  • Buscador de informação
Nós também podemos encontrar ou criar código para inserir em páginas como:
  • Relógio
  • Contadores
  • Datas
  • Calculadoras
  • Validações de formulários
  • Detectores de navegadores e linguagens

Como identificar código Javascript?

   Para inserimos um código em Javascript é recomendável inserir entre as tags <head></head> usando as tags <script type="javascript/text"> </script> ou inserir em um arquivo separado como no exemplo:

<script type="text/javascript" src="arquivo.js" />

Algumas características da linguagem são:

   Sua sintaxe é semelhante ao usado em Java e C, sendo uma linguagem do lado do cliente que é interpretado pelo navegador.

  • Variáveis: var = "Hola", n= 103
  • Condição: if (i < 10) { ... }
  • Laços : for (i=0;i < 10; i++) { ... }
  • Arrays: var carros = new Array ("Gol","Golf","Uno"}
  • Função: Ação criada pelo desenvolvedor:
    function Somar 
       return a+b;
    );

  • Comentários:
    //comentário de uma unica linha
    /*
      Comentários de várias linhas
  • */
  • Programação Orientada a Objetos
    Permite programação orientada a objetos
    Ex. document.write("Ola");
  • As variáveis podem ser definidas como: string, integer, flot, boolean simplemente utilizando var. Podemos usar o carácter '+' para concatenar string.

Compatível com os navegadores?

   Javascript é suportado pela maioria dos navegadores como Google Chrome, Firefox, Internet Explorer, Safari, entre outros.
   Com o surgimento de linguagens, como o PHP que é do lado do servidor (server-side) e do lado do cliente, Javascript. Ajax (Acrônimo Javascript e XML) surgiu, para criação de aplicações web interativas. Esta linguagem combina várias tecnologias:

  • HTML e CSS para gerar estilos
  • Implentações ECMAScript, um dos quais é a linguagem Javascript
  • XMLHttpRequest é uma das funções mais importantes, incluído, que permite a troca de dados de forma assíncrona com o servidor web pode esta usando PHP, ASP.NET, entre outros.
   Devemos notar que, enquanto Javascript é suportado em vários navegadores, os próprios usuários podem desabilita-los.


Este artigo foi traduzido do link e foi adaptado por Natanael Santos.

quinta-feira, 6 de setembro de 2012

Série LINQ 03 - Where II

WHERE

A cláusula where é usado em uma expressão de consulta para especificar os elementos da fonte de dados que será devolvido na consulta. Aplica-se uma condição booleana para cada elemento de origem (referenciado pela variável de intervalo) e retorna aqueles para os quais a condição especificada é verdadeira. Uma expressão de consulta simples pode conter várias cláusulas WHERE e uma cláusula simples pode conter subexpressões múltipla de predicados.

Exemplos

No exemplo seguinte, caso não tivesse a cláusula where todos os elemento da fonte de dados iriam ser imprimindo, mas a condição é(num < 5).


//fonte de dados
int[] tbNumero = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

//Filtra o a consulta com a condição de que num deve ser menor que 5
var query = from num in tbNumero
                where num < 5
                select num;

//Imprime a consulta query
foreach (var n in query)
{
  Console.Write(n.ToString() + " ");
}


//Saída: 4 1 3 2 0



Dentro de uma cláusula where,  você pode especificar quantas condições forem necessárias usando os operadores &&(and) e | |(or). No exemplo a seguir, a consulta especifica duas condições, a fim de selecionar apenas os números pares e que são menores que cinco.


//Fonte de dados
int[] tbNumero = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

//Cria uma consulta com duas condições
var query = from num in tbNumero
               where ((num < 5) && (num % 2 == 0))
               select num;

//Imprime a consulta
foreach (var s in query)
{
  Console.Write(s.ToString() + " ");
}

// Saída: 4 2 0



Uma cláusula where conter um ou mais métodos que retornam valores booleanos. No exemplo a seguir, a cláusula utiliza um método para determinar se o valor é par ou ímpar.


//Método estático.
static bool IsPar(int i)
{
  return i % 2 == 0;
}

public static void Main()
{
  //Fonte de Dados
  int[] tbNumero = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

  var query = from num in tbNumero
              where IsPar(num)
              select num;

  //Imprime a consulta
  foreach(var n in query)
  {
    Console.Write(n.ToString() + " ");

  }

}

//Saída: 4 8 6 2 0

Observações

A cláusula where é um mecanismo de filtragem. Ela pode ser posicionado em qualquer lugar em uma expressão de consulta, exceto que ela não pode ser a primeira ou a última cláusula. Uma cláusula where pode aparecer antes ou depois de uma cláusula de group, dependendo se você tem que filtrar os elementos de origem antes ou depois eles foram agrupados.

Se uma condição especificada não é válido para os elementos na fonte de dados, um erro de tempo de compilação irá resultar.


REFERÊNCIAS

Documentação MSDN - LINQ 




domingo, 2 de setembro de 2012

Série LINQ 02 - Consultas LINQ e Filtro

Este tópico fornece uma breve introdução às expressões de consulta LINQ e alguns dos tipos típicos de operações que você executa em uma consulta.

 Como obter uma fonte de dados
Em uma consulta de LINQ, a primeira etapa é especificar a origem de dados. Em C# como na maioria das linguagens de programação uma variável deve ser declarada antes que ele possa ser usado. Em uma consulta de LINQ , a cláusula from vem primeiro na ordem para apresentar os dados de origem (carro) e o intervalo variável (car).


var selecionarCarro= from car in tbCarro
                        select car;

Provavelmente a operação de consulta mais comum é aplicar um filtro no formulário de uma expressão Booleana. O filtro faz com que a consulta retorne apenas aqueles elementos para os quais a expressão for verdadeira. O resultado é produzido usando a cláusula where. O filtro efeito especifica quais elementos podem excluir a seqüência de origem. No exemplo a seguir, somente os carros que têm um cor azul são retornados.


var selecionarPorCor =   from car in tbCarro
                           where car.cor == "Azul"
                           select car;
 
 
Você pode usar os operadores AND e OR para aplicar em várias expressões, conforme necessário com  clásula a where. Por exemplo, para retornar somente os carros com cores "Azul" AND cujo preço é 50 mil reais , você escreveria o seguinte código:
 
 
 where caro.cor =="Azul" && cust.Preco == 50.000
 
 
Para retornar os carros com cores azul e vermelho, você escreveria o seguinte código:
 
where cust.cor == "Azul" || cust.cor == "Vermelho" 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sábado, 4 de agosto de 2012

DICAS 01 - Adicionar uma linha em branco em uma DropDownList C# ASP.NET


Olá Pessoal, o blog esta criando uma nova série, chamada Dicas, envolvida no nosso dia a dia, então vamos lá para a primeira dica.

Adicionar uma linha em branco em uma dropDownList em C# e ASP.NET


Cenário: Tenho uma lista de Cidade, e não quero que exiba a primeira cidade, mas uma linha em branco, forçando o usuário a selecionar uma cidade.

Obs: Se baseia na label Autor como resultado final e Editora como a querendo quer ser inicializar em branco

Como na imagem:

















Solução: Aonde você alimenta a DropDownList insira o código abaixo:

ddlAutor.Items.Insert(0, new ListItem("", ""));
  
Onde 

ddlAutor = nome da DropDown List
Items = Coleção de funcionalidade para o controle
Insert = Insere um item especifico

No caso o método insert ele é sobrecarregado, por isso, existem vários métodos que podemos usar. No caso estaremos usando os parâmetros abaixo.

ddlAutor.Items.Insert(int index, new ListItem item);
Abaixo o método completo

ddlAutor.DataTextField = "Nome";
ddlAutor.DataValueField = "Codigo";

ddlAutor.DataSource = tbAutor;
ddlAutor.DataBind();

ddlAutor.Items.Insert(0, new ListItem("", ""));

Bom é isso pessoal, espero que ajude, qualquer dúvida poste nos comentários ou envie-nos um email para duvida@nstutoriais.com