Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Programação » ASP » Fazendo Upload com aspSmartUpload -->
 
Avaliação: | Publicado em: 16/05/2008
Fazendo Upload com aspSmartUpload


INSTALANDO O COMPONENTE

 -Baixe o aspSmartUpload no Banco de Scripts/Uploads do Plugmasters ou se preferir diretamente do  link de referencia.

-Após o Download descompacte os arquivos e copie as .dll para seu diretório system32 (C:WINDOWSsystem32)

-Registre a .dll aspSmartUpload.dll  (INICIAR/EXECUTAR...) >> regsvr32 aspSmartUpload.dll

Pronto!Você está pronto para utilizar o aspSmartUpload

PRESSUPOSTO:

Existe um formulário de cadastro que após enviado é feita uma inserção no banco de dados e exibida outra pagina de continuação de cadastro para inserir as imagens com o componente.

NOME DO BANCO:  usuários

CAMPO DE AUTONUMERACAO: ID

CAMPOS DE IMAGEM: imagem1, imagem2 e imagem3

Session(“identificacao”) : ID no banco usuarios  que foi gerado na gravação na primeira parte do cadastro e será o numero utilizado para renomear as imagens.Para recuperar o ID essa session deve ser criada logo após a gravação dos dados com um “select “ de um campo que não permita mesmos valores.

Exemplo:usaremos o login como campo que não permite duplicação.

<%Identificacao=”select * from usuarios where ID= ‘”&login&”’ ”

Set Identificacao =conexao.execute(Identificacao)

Session(“identificacao”) = Identificacao(“ID”)

%>

PRONTO!Agora utilizaremos session(“identificacao”) quando nos referimos ao ID recém cadastrado.

 

CRIANDO PÁGINA DE SELEÇÃO DAS IMAGENS

 

Utilizaremos de exemplo uma página de cadastro com 3 imagens. (continuacao_cadastro.asp)

NOTA IMPORTANTE:Verifique a mudança feita na TAG <form>!o uso do enctype="multipart/form-data" é essencial para o envio correto da imagem!

<html>

<body>

<form name="form"  method="post" action="gravar.asp"  enctype="multipart/form-data">

<input type="file" id="arquivo1" name="arquivo1">

<br>

<input type="file" id="arquivo2" name="arquivo2">

<br>

<input type="file" id="arquivo3" name="arquivo3">

<br>

<input type="submit" name="botao" id="botao" value="Cadastrar ">

 

</form>

</body>

<HTML>

 

RECUPERANDO DADOS E REALIZANDO OPERAÇÔES:

Caso necessário comentarei a linha no próprio bloco de código ASP.

<%'Caso haja algum erro prossegue a execução

on error resume next

 

'Vamos abrir a conexao com o Banco de Dados(Exemplo baseado no MySql ODBC 3.5.1),deve ser alterado conforme seu Driver

set conexao = Server.CreateObject("ADODB.Connection")

conexao.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;PORT=3306;DATABASE=banco_aqui; USER=usuario_aqui;PASSWORD=senha_aqui;OPTION=3;"

 

'abre a conexão com o componente aspSmartUpload  em objUpload

Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'seta as opções de upload !

'Como o exemplo é um cadastro de usuário com foto, permitirei  a entrada de arquivos com extensão jpg,gif,jpeg e png

objUpload.AllowedFilesList = "jpg,gif,jpeg,png"

'Nessa linha limito o upload de cada arquivo a 500kb

 objUpload.MaxFileSize = 500000

'Upload é feito a seguir para o servidor

objUpload.Upload

'Recuperacao do campo nome!VERIFIQUE QUE: o request.form foi substituído por objUpload.Form

if err.number = -2147220399 or err.number = -2147220494  then 'Estes números de erros correspondem respectivamente á Tamanho de arquivo maior que permitido e extensão diferente da permitida.Caso isso aconteça é exibido uma mensagem

response.write("Erro!!Tamanho ou extensão diferente do permitido ")

else 'caso tamanho e extensão dos arquivos estiverem corretos...

'Atribui a letra i valor de 0

i=0

 

'Vamos fazer um loop para recuperar e gravar os arquivos  

For Each File In objUpload.Files

'recupera “i” e atribui a ele +1

i=i + 1

'este if verifica se os campos de upload não estão vazios

If Not File.IsMissing Then

 

'Aqui são renomeadas as imagens.Arquivo é o  ID(recuperado pela session)”_” +valor do i+ a extensão.Ficara assim por exemplo:12_1.gif ,12_2.gif , 12_3.gif(correspondendo ao ID 12 e os três campos de imagens selecionados)

arquivo=recupera_bd("instituicao_id")&"_"&i&"."&File.FileExt

 

 

'salva os arquivos com o nome escolhemos acima no diretório ../pasta_para_gravar/

'Lembrando que a pasta deve ter permissão para gravação!

File.Saveas(Server.MapPath("/pasta__para_gravar/"&arquivo))

'Cria sessões baseadas no loop com valores de upload_nome_ 1 a 3 

session("upload_nome_"&i)=arquivo

 

End If

Next

'Agora vamos gravar o nome das imagens no banco de dados!

conexao.execute("update usuarios set imagem1='"& session("upload_nome_1") & "', imagem1='"& session("upload_nome_2") & "', imagem1='"& session("upload_nome_3") & "' where ID="&session(“identificacao”))

%>

FIM!

Espero que tenha sido útil!

Abraço a todos


Alexandre Alves <alves@triexcom.com.br>
Eu consigo fazer o upload maior que 3megas?
Obrigado
Cara,
desenvolve melhor esse tutorial. O maior problema de tutotial na internet não é nem a falta de conhecimento, mas a desenvoltura do passo a passo do tutorial. Não sei se é preguiça ou relaxo ou incapacidade. Fico na dúvida. Percebo que o conteudo tá bom, interessante, mas muito confuso.