Como sempre o jQuery é incrível nesse
artigo vou mostrar como fazer upload de múltiplos arquivos isso é
possível com nosso amigo jQuery que monta uma fila de espera aonde o
método HttpFileCollection, nos conseguimos guarda as informações de
todos os arquivos que passaram pelo FileUpload usando o Request.Files .
Primeiro abaixe o projeto ou somente os arquivos jQuery para nos
consegui usar a função multiUpload do arquivo jquery.MultiFile, após
ter abaixado coloque os seguintes webcontrols na nossa página aspx .
1 – FileUpload
2- Button
Importante: No FileUpload coloque a seguinte Class multi
aonde o jQuery vai pegar os arquivos carregados pelo o usuário e montar
uma fila de espera abaixo.
O Seu código vai ficar mais ou menos dessa maneira.
01 | <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" |
02 | CodeFile="Default.aspx.cs" Inherits="_Default" %> |
04 | < asp:Content ID = "HeaderContent" runat = "server" ContentPlaceHolderID = "HeadContent" > |
05 | < script src = "Scripts/jquery-1.3.2.js" type = "text/javascript" ></ script > |
06 | < script src = "Scripts/jquery.MultiFile.js" type = "text/javascript" ></ script > |
08 | < asp:Content ID = "BodyContent" runat = "server" ContentPlaceHolderID = "MainContent" > |
11 | < asp:FileUpload ID = "FileUpload1" runat = "server" /> |
12 | < asp:Button ID = "Button1" runat = "server" Text = "Upload" onclick = "Button1_Click" /> |
clique na imagem para visualizar melhor
Após ter inserido os controles clique duas vezes no Button para ele criar um evento click.
Segundo passo e importa a namespace System.IO para trabalhar com
arquivos podendo manipular eles obtendo nome, diretório, salvando eles
em diretórios específicos etc.
Depois vai no nosso evento clique e coloque o seguinte código como mostra o código abaixo.
01 | protected void Button1_Click( object sender, EventArgs e) |
07 | HttpFileCollection hfc = Request.Files; |
09 | for ( int i = 0; i < hfc.Count; i++) |
14 | HttpPostedFile hpf = hfc[i]; |
15 | FileUpload1.SaveAs(Server.MapPath( "Files" ) + "\\" + System.IO.Path.GetFileName(hpf.FileName)); |
16 | Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Sucesso" , "alert('Upload efetuado com sucesso')" , true ); |
25 | Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Erro" , "alert('" +ex.Message+ "')" , true ); |
Depois crie um diretório no seu projeto com o nome Files ou de sua
escolha lembre de altera o nome do diretório caso troque no código
também para funcionar.
Importante: abra a web.config na e coloque o seguinte linha na System.web
<httpRuntime maxRequestLength=”100000″/>
Para você conseguir fazer upload de arquivos grandes até 100MB.
clique na imagem para visualizar melhor
Código fonte: http://uploaddearquivos.com.br/download/UploadMultFiles.rar
Arquivos jQuery : http://uploaddearquivos.com.br/download/Arquivos-JQuery.rar