Fazendo um Upload em ASP.Net 2005
ASp.Net: Upload simples
por Lula
ASp.Net: Upload simples
por Lula
Lembra de todo o problema que você já teve na vida para fazer um Upload de um arquivo em ASP? Arrumar um componente, descobrir como ele funciona etc? Pois bem, o .Net está aqui para salvar a sua vida. Tudo ficou incrivelmente rápido e fácil - mesmo.
O que vamos precisar:
- O Objeto "File Upload" do .Net. O do meu projeto está com o nome padrão "FileUpload1";
- Um objeto "Button" do .Net, para efetivamente enviar o arquivo;
- Um objeto "HyperLink" do .Net. O do meu projeto convenientemente se chama "HyperLink1".
Agora, dentro do seu site crie a pasta onde serão enviados os arquivos. Eu criei uma pasta "upload" logo abaixo do diretório raiz do site.
O código do HTML ficou (somente a parte do form):
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="Upload" /><br />
<asp:HyperLink ID="HyperLink1" runat="server">HyperLink</asp:HyperLink></div>
</form>
Agora, dois cliques no botão que vai enviar e mande o seguinte código .Net (comentado):
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
'Primeiro verificar se o usuário realmente está mandando algum arquivo
If FileUpload1.HasFile Then
'Salvar o arquivo, passando o diretório FÍSICO da pasta de Upload.
'O Server.UrlEncode é para o caso da imagem ter algum caracter especial como _
FileUpload1.SaveAs(
"C:\Inetpub\wwwroot\Testes\upload\" + Server.UrlEncode(FileUpload1.FileName)) 'Damos o texto com o nome da imagem enviadaHyperLink1.Text = FileUpload1.FileName
'Setamos a URL para o caminho da pasta de Upload + nome do arquivoHyperLink1.NavigateUrl =
"upload\" + FileUpload1.FileName End If End SubMoleza, né não? Tem que lembrar que tudo aqui deu certo pois o usuário que eu estou usando é o do ASP.Net (padrão para aplicações de ASP.Net), que possivelmente tem permissão de escrita na pasta Upload criada anteriormente.