Como fazer upload de arquivos no ASP
- Baixe esse arquivo: upload.asp.zip e descompacte em seu servidor. Eu costumo deixar arquivos como esse, que só contém funções genérica, na pasta /api no servidor, de onde eu posso fazer um include virtual em todas as aplicações em que precisar.
- O formulário tem que ser submetido de um jeito especial, assim
<form action="arquivoquerecebeopost.asp" method="post" enctype="multipart/form-data">
- Na página que vai receber o post, você não pode usar
Request()
nemRequest.Form()
, apenasRequest.QueryString()
. - No começo da sua página, chame a função
upload_ReadRequest
- Onde precisar ler os valores do formulário, use
uRequest("nomedocampo")
- Para salvar o arquivo:
upload_SalvaArquivo "nome_do_campo_file", "C:\Caminho\PodeUsarServerMapPathSeQuiser\", "nomedoarquivo.jpg", "jpg"
. O último parâmetro é uma lista das extensões permitidas (algo como “doc,txt,rtf,pdf”.) - Se quiser obter o nome do arquivo, use
UploadRequest.Item("nome_do_campo_file").Item("FileName")
. Vem o caminho completo, você precisa tratar a string se quiser apenas o nome. Isso não é difícil, eu costumo fazer com split.
View Comments (48)
Olá, infelizmente o link de download do script não está ativo.
Procuro a muito tempo um upload sem script. Grande abraço.
Se o dono do blog permitir, segue abaixo o código pra redimensionar as imagens enquanto você envia:
Valeu.
Boa noite pessoal, primeiramente parabéns Rafael, muuuuito bom o código, faz muito tempo que procuro por uma solução como esta e graças ao seu código consegui resolver um problemaço.
Galera, pra resolver o problema de MidB vocês tem que saber qual a versão do IIS que estão usando, em seguida vejam na internet como alterar o valor dos arquivos que podem ser enviados, no IIS 7, é muito fácil, se precisarem de ajuda pode me chamar por msn luizricardofc@msn.com.
Este problema de MidB é pq o arquivo é muito grande para o que é permitido, eu já passei por isso e resolvi aumentando o tempo limite de script e também o tamanho do arquivo a ser enviado.
Novamente obrigado.
O codigo funciona. Porém ao fazer o upload dos arquivos, os mesmos tem a extenção renomeada com um "M" no final. Tipo : "docM, txtM".
O que será que está acontecedo ?
Excelente código, funcionou 100%. Fiz algumas alterações que achei importante para o controle da minha empresa. Com a sua solução, resolvi o problema de incompatibilidade do software AspUpload com o Windows 64 bits, quer dizer, não preciso mais dele. Parabéns e muito sucesso.
Acho que o pessoal esta leigo demais por o codigo funciona direitinho, quero aproveitar é dizer o muito obrigado para o autor, nunca vi coisa tão simples e facil de usar. Sucesso!!!, queria saber se você tem outro que remenciona a foto automaticamente na pagina de resultado. quero dizer eu vou colocar o tamanho do quadro por exemplo 150 x 75, e a foto se ajustasse em ficar com distoção.
Alguem resolveu esse problema do MidB ???????????????????????????????
Apenas para mostrar como ficou a declaração do meu form:
Pessoal, mais uma dica. Aqui o erro parou de acontecer depois que eu coloquei valor para a propriedade method do meu form (method="post").
Olá pessoal, já realizei todos os procedimentos acima e continuo com o memso erro da maioria aí:
Erro de tempo de execução do Microsoft VBScript erro '800a0005'
Chamada de procedimento ou argumento inválido: 'MidB'
/comercialnorte/upload.asp, line 13
Alguém já tem uma nova solução?
Desde já agradeço.