Como fazer upload de arquivos?

De Wiki
Ir para: navegação, pesquisa

O Ambiente Microsoft Windows permite o uso do AspUpload, um componente que permite aplicações ASP (Active Server Pages) aceitar, salvar e manipular arquivos carregados no servidor (upload) via navegador.

  • Iniciando o trabalho com o AspUpload

Vamos criar um exemplo simples que vai permitir-nos fazer upload de três arquivos.

Escreva a seguinte página HTML:

<HTML>
<BODY BGCOLOR="#FFFFFF">

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UploadScript1.asp">
<INPUT TYPE=FILE SIZE=60 NAME="FILE1"><BR>
<INPUT TYPE=FILE SIZE=60 NAME="FILE2"><BR>
<INPUT TYPE=FILE SIZE=60 NAME="FILE3"><BR>
<INPUT TYPE=SUBMIT VALUE="Upload!">
</FORM>

</BODY>
</HTML>

Note o código ENCTYPE="multipart/form-data" atribuído à tag <FORM>. Este código instrui o navegador para enviar o arquivo todo para o servidor e não apenas o nome do arquivo digitado na caixa de texto. É imprescindível que seu formulário de upload contenha este atributo, senão nenhum upload pode ser feito.

Vamos olhar como ficará o script UploadScript1.asp, quem efetivamente gravará o arquivo no servidor. Repare que o nome desse arquivo foi declarado na propriedade action do formulário:

  <HTML> 
  <BODY>  
<%
Set Upload = Server.CreateObject("Persits.Upload.1")Count = upload.SaveVirtual("/upload")  %>
<% = Count %> files uploaded.
</BODY> </HTML>

A primeira linha do script ASP simplesmente cria uma instância do objeto AspUpload. A segunda linha chama o método SaveVirtual do componente (AspUpload). Entre parênteses, deve-se informar o caminho para a pasta (no servidor) na qual se deseja gravar o arquivo. Neste caso, os três arquivos serão gravados na pasta upload, localizada imediatamente abaixo da raíz do site atual. Todos os arquivos serão gravados nesta pasta.

O método SaveVirtual retorna o número de arquivos que foram, carregados (uploaded) com sucesso. Em caso de erro, este método vai gerar uma interrupção.


  • Exibindo a barra de progresso

Caso haja a necessidade de exibir a barra de progresso durante o upload dos arquivos, utilize os modelos e exemplos contidos no arquivo progresso.zip.

  • Clique aqui para maiores detalhes quanto a utilização do AspUpload. (o manual será aberto em uma nova janela)