Neste documento estaremos discutindo como fazer o envio de arquivos ao servidor (fileupload) da maneira mais tradicional e simples possível abordando as tecnologias mais usadas, entre elas o próprio HTML e o ASP Clássico.
Se você está usando asp clássico o fileupload está baseado num componente interno ao servidor e externo ao site asp para fazer essa tarefa. Como já enfatizei é um erro grave de segurança fazer upload de arquivos com componentes externos ao asp mas é assim que o asp clássico funciona, não há outro jeito.
No meu estudo tenho um site que me baseei para escrever este documento na iphotel e instalado no site tenho o componente Persits.Upload para fazer upload de arquivo. É como o CDONTS para envio de email ou ADO para acessar bases de dados. O que o ASP Clássico não consegue fazer ele utiliza componentes externos para fazê-los. Como todo o processo roda dentro do servidor a coisa é relativamente segura, mas bem menos segura que os sites modernos.
Básicamente o fileUpload é feito por 2 páginas.
A primeira página é uma página html simples que tem :
Um form com um parâmetro especial para envio de arquivos :
enctype="multipart/form-data" e o parâmetro method deve ser obrigatóriamente method="post".
o controle input type=file dentro de
Dando um submit num form com um controle input type="file" mas tem mais alguns detalhes que são necessários para que a funcionalidade funcione.
No form que você pretende dar o submit você precisa acrescentar os parâmetros . A coisa péssima disto é que o form só fará o fileUpload, ou seja, se dentro desse form contiver outros controles tipo input type="text" ou coisa parecida, estes NÃO serão enviados ao servidor, só será feito o fileUpload.
Para contornar o problema acima costumamos fazer um form só para o FileUpload e outro para os dados que desejamos enviar. Note que são 2 submits no mesmo form o que fica meio deselegante, para dizer o mínimo.
Com o JQuery temos um controle capaz de enviar o arquivo para o servidor disparado por um script no submit do botão.