Fazendo um Upload em ASP.Net 2005
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 enviada

HyperLink1.Text = FileUpload1.FileName

'Setamos a URL para o caminho da pasta de Upload + nome do arquivo

HyperLink1.NavigateUrl = "upload\" + FileUpload1.FileName

End If

End Sub

Moleza, 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.