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