Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webfuture

Como manipular erros no upload via dundas

Recommended Posts

Olá galera, estou precisando realizar uma manipulação de erros usando o Dundas Upload, o que preciso fazer é o seguinte

tenho uma área no site onde o usuário efetua o upload de fotos, uma por vez até o momento, o que faço, após ele enviar

a foto, verifico se já existe a pasta criada para ele, caso não exista crio a pasta, ai depois de enviada a foto crio um thumbnail para a mesma e jogo dentro da pasta /small/, até ai tudo bem, agora minha dúvida e problema é, setando a propriedade MaxFileSize = alguma coisa ele barra o upload certinho mas gostaria de ao invés de mostrar o erro em ingles e a linha do erro, como padrão do dundas, mostrasse uma mensagem amigável, tipo Arquivo muito grande, porém, tentei fazer alguns ifs para isto mas não consegui, se não me engano o número de erro para arquivo muito grande é 8, mas não deu certo, queria também validar os tipos de arquivos para não virem arquivos que não são aceitos, mas isto fiz na tela anterior via JS então não sei se compensaria fazer ai também, alguém sabe me dizer o que acertar neste código para esta validação de erros funcionar e mostrar a mensagem ao usuário ao invés de erro de script....

 

Deixei como padrão o script, vejam:

 

<%Set objUpload = Server.CreateObject("Dundas.Upload.2")if err.number <> 0 thenResponse.Write err.descriptionend ifobjUpload.MaxFileSize = 100objUpload.Useuniquenames = trueobjUpload.SaveToMemory'VERIFICANDO SE A PASTA EXISTESet fso = CreateObject("Scripting.FileSystemObject")if fso.FolderExists("C:\inetpub\wwwroot\site.com.br\versao2007\images\usuarios\" & Session("id_logado")) Then	pastaexiste = trueelse	pastaexiste = false	fso.CreateFolder("c:\inetpub\wwwroot\site.com.br\versao2007\images\usuarios\" & Session("id_logado"))	fso.CreateFolder("c:\inetpub\wwwroot\site.com.br\versao2007\images\usuarios\" & Session("id_logado") & "\small\")	End IfSet fso = NothingFor Each objUploadedFile in objUpload.FilesfileName = objUpload.GetFileName(objUploadedFile.OriginalPath)fileext = objUpload.GetFileExt(objUploadedFile.OriginalPath)nome_foto = remove_quotes(objUpload.Form("nome_foto"))descricao_foto = remove_quotes(objUpload.Form("descricao_foto"))Set RSTopFoto = Server.CreateObject("aDODB.RecordSet")SQL = "Select id_foto from tb_fotos order by id_foto desc limit 0,1 "RsTopFoto.Open SQL, ConexaoIf (Not RSTopFoto.EOf) then	id_ultima_foto = RSTopFoto.Fields("id_foto")	id_inserir = id_ultima_foto + 1End IfRsTopFoto.CloseSEt RSTopFoto = Nothingfoto_enviada = trueobjUploadedFile.SaveAs "c:\inetpub\wwwroot\site.com.br\versao2007\images\usuarios\" & Session("id_logado") & "\" & id_inserir & "." & fileext'verifica erroif err.number <> 0 then	Response.Write err.descriptionelse	sql = "insert tb_fotos(id_cadastro, descricao_foto, data_cadastro) values("	sql = sql & "'" & Session("id_logado") & "', "	sql = sql & "'" & descricao_foto & "', Now())"	conexao.execute sqlend ifif foto_enviada <> "" then'******************''Criando o thumbnail:Set Jpeg = Server.CreateObject("Persits.Jpeg")'Caminho da ImagemPath = "c:\inetpub\wwwroot\site.com.br\versao2007\images\usuarios\" & Session("id_logado") & "\" & id_inserir & "." & fileext'Busca a ImagemJpeg.Open Path'Especifica o tamanho da imagemJpeg.Width = "50"Jpeg.Height = "50"'Esse método é opcional, usado para melhorar o visual da imagemJpeg.Sharpen 1, 150'Cria um thumbnail e o grava no caminho abaixoJpeg.Save "c:\inetpub\wwwroot\site.com.br\versao2007\images\usuarios\" & Session("id_logado") & "\small\" & id_inserir & "." & fileextSet Jpeg = NothingEnd IfNextSet ObjUpload = Nothing  conexao.Close  SEt Conexao = NothingResponse.Redirect("minhasfotos_lista.asp?inc=1")%>

Se alguém puder ajudar,

 

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, ta dificil com o dundas, sera que alguém conhece alguma forma de fazer isto com o SAFileUp, pois a locaweb trabalha com ele também... estes componentes estão dando dor de cabeça....Alan

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para poder manipular as mensagens de erro você deve por o On Error Resume Next em seu Script.

 

Com relação as validações de tipo de arquivo aconselho a fazê-la no componente TAMBÉM, isso evita que alguém bloqueie os JS e drible a sua validação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá jonathandj deixando o On Error Resume Next mesmo com dando erro ele mostra status de erro = 0 ou seja, que não deu erro, mas na verdade ele deu erro, to achando estranho.Salgado se eu conseguir manipular os erros..rs vou manipular também os tipos de arquivos válidos como você falou, é bom mesmo pois se não danço se o cara desativar ai ja viu....Vou fazer mais uns testes, Valeu gente,Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.