

| com exemplos em VB |
| Componente para deixar forms em Vb semelhantes às telas do winnamp |
| Componente para colocar sua aplicação VB no Systray |
| Componente para transformar sua aplicação VB em serviço |
| Ferramentas úteis para quem usa Olap Server |
| |

![]() |
||||||||
|
|
||||||||
Upload de arquivos com ASP
Os motivos podem ser diversos : permitir a inserção da foto de novos produtos em uma loja virtual, permitir cadastramento de usuários com foto, permitir que os usuários disponibilizem arquivos para outros usuários, etc.
Tudo isso faz do upload de arquivos um problema comum de programação com ASP. E ai, como resolver ?
Em 1o lugar você precisará definir para qual diretório irá fazer o upload. O diretório de destino em seu servidor Web precisará abrir as permissões de escrita (e dependendo do componente utilizado também permissões de deleção) para usuários anônimos na web. Se você está hospedando sua página em um provedor então deverá entrar em contato com o provedor para que ele configure este permissionamento.
Então entramos no assunto da transmissão. Como transmitir o arquivo ?
O HTML já possui uma caixa de texto do tipo FILE que permite que o usuário selecione um arquivo em seu disco local para realizar a transmissão. Veja :
<HTML>
<BODY BGCOLOR="#FFFFFF" >
<h2>Upload Simples</h2><br>
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="upload.asp">
<INPUT TYPE=FILE SIZE=60 NAME="FILE1"><BR>
<INPUT TYPE=SUBMIT VALUE="Upload!">
</FORM >
</BODY>
</HTML>
Existem diversos componentes de diferentes fabricantes que fazem essa tarefa. Veja alguns :
Trabalharemos neste exemplo com o SAUpload, utilizado pelo provedor de hospedagem LocaWeb.
Vejamos primeiro um recebimento de arquivo simples :
<HTML>
<BODY>
<% Set upl = Server.CreateObject("SoftArtisans.FileUp")
upl.Path = "e:\home\login\web\upload"
upl.Save %>
Total de Bytes Enviados: <%=upl.TotalBytes%>
</BODY>
</HTML>
Utiliza-se o Server.CreateObject, assim como eu qualquer componente COM, para instanciar o componente. Define-se o Path. Neste exemplo o Path encontra-se fixo, mas poderia ser definido com Server.MapPath.
Junto com o upload talvez você deseje registrar em um banco de dados informações sobre o arquivo, tal como descrição, preço (se for um produto), assim por diante. Veja :
<HTML>
<BODY BGCOLOR="#FFFFFF" >
<h2>Upload Simples</h2><br>
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="upload.asp">
Descrição <input type=text name=txtdesc><br>
<INPUT TYPE=FILE SIZE=60 NAME="FILE1"><BR>
<INPUT TYPE=SUBMIT VALUE="Upload!">
</FORM >
</BODY>
</HTML>
Agora precisamos receber essa informação no servidor. O EncType mudou a forma de transmissão e consequentemente o Request.Form não conseguirá entender a informação. Para resolver o problema o componente SAUpload possui um método FORM que nos permite acessar os campos transmitidos junto com o arquivo. Desta forma poderíamos fazer o seguinte código :
<HTML>
<BODY>
<%
set CN=createobject("adodb.connection")
CN.OPEN "Aqui vc escreve a string de conexão"
CN.execute "insert into uploads values ('" & upl.form("txtdesc")
& "')"
CN.close
Set CN=nothing
Set upl = Server.CreateObject("SoftArtisans.FileUp")
upl.Path = "e:\home\login\web\upload"
upl.Save %>
Total de Bytes Enviados: <%=upl.TotalBytes%>
</BODY>
</HTML>
Veja Mais detalhes sobre componentes para UpLoad em :
SAUpload - http://www.learnasp.com/sa/
Posting Acceptor - http://support.microsoft.com/support/kb/articles/Q217/4/25.asp
ASPUpload - http://www.aspupload.com/codesample.html
Dennes Torres
MCSD,MCSE,MCDBA
� Búfalo Informática,
Treinamento e Consultoria -
Rua Ãlvaro Alvim, 37 Sala 920 - Cinelândia - Rio de Janeiro / RJ
Tel.: (21)2262-1368 (21) 9240-5134 (21) 9240-7281 e-Mail: contato@bufaloinfo.com.br