ASP.NET 2.0 . FileUpload
ASP .NET 2.0
FileUpload
No ASP.NET 1.0/1.1 para fazer upload de arquivos nós tínhamos que trabalhar com o HTML FileUpload. Neste controle <input type=”file”> precisávamos fazer algumas modificações para podermos utilizá-lo, como habilitá-lo para ser um Server Control onde teriamos acesso as suas propriedades e também adicionar a tag enctype=”multipart/form-data” no form da página.
Com o ASP.NET 2.0 não precisamos mais fazer nada disso, agora nós temos o Server Control FileUpload e o objetivo deste artigo é mostrar como trabalhar com este componente.
Criação do projeto
1. Crie um New Web Site chamado Upload. Linguagem C#.
1.1. No arquivo Default.aspx digite o código abaixo, conforme Listagem 1.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Upload.aspx.cs" Inherits="Upload" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:FileUpload ID="FileUpload1" runat="server" />
<p>
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="Button1_Click" /></p>
<p>
<asp:Label ID="lblMensagem" runat="server"></asp:Label></p>
</form>
</body>
</html>
Listagem 1 – Código HTML - FileUpload.
O código acima possui um componete FileUpload, um botão onde vamos digitar o código e um label que irá exibir mensagens como o tamanho e o tipo de arquivo.
Na Figura 1 podemos ver nossa página em modo de Design.
Figura 1 – Página em mode de Design.
1. Nosso próximo passo é codificar o botão, de um clique duplo no btnUpload e digite o código conforme Listagem 1.
protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
try
{
FileUpload1.SaveAs("C:\\MeusUploads\\" + FileUpload1.FileName);
lblMensagem.Text = "Nome do arquivo: " +
FileUpload1.PostedFile.FileName + "<br>" +
FileUpload1.PostedFile.ContentLength + " kb<br>" +
"Tipo de arquivo: " +
FileUpload1.PostedFile.ContentType;
}
catch (Exception ex)
{
lblMensagem.Text = "ERRO: " + ex.Message.ToString();
}
else
{
lblMensagem.Text = "Selecione o arquivo.";
}
}
Listagem 2 – Código do botão btnUpload
Figura 2 – Upload
Caso ocorra erros de permissão, conceda a conta ASP.NET Machine Account direito sobre a pasta na qual você trabalhando com o Upload, no meu caso MeusUplods.
Uma outra modificação que pode ser feita é limitar o tamanho do arquivo. No arquivo Web.Config digite conforme a Listagem 3. No exemplo o tamanho máximo de Upload é de 4096 KB.
<httpRuntime
idleTime=”15”
executionTimeout=”90”
maxRequestLength=”4096”
useFullyQualifiedRedirectUrl=”False”
minFreeThreads=”8”
minLocalRequestFreeThreads=”4”
appRequestQueueLimit=”100”
/>
Listagem 3 – Arquivo Web. Config.
Pode alterar para 10 MB altero o maxRequestLength=”11000” .
Com isto podemos fazer facilmente upload em nossos projetos.
Abraços e até o próximo.
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.