Ir para conteúdo

POWERED BY:

Arquivado

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

gUiTaR_mAn

Sistema de Downloads

Recommended Posts

galéra...

tenho um código pra forçar o download de qualquer tipo de arquivo.

o sistema funciona assim:

 

o cara recebe o nome de alguns arquivos por e-mail, acessa o sistema, digita o nome dos arquivos que ele recebeu, e então o download é iniciado.

 

porém, queria criar uma condição para o caso de inexistência do arquivo. tipo, se o arquivo não existir eu aviso com um alert pro usuário.

 

meu código segue abaixo:

<%arquivo = request("filename")Set ObjFile = Server.CreateObject("ADODB.Stream")ObjFile.Type= 1ObjFile.Open ObjFile.LoadFromFile "c:\inetpub\vhosts\cinefotomary.com.br\subdomains\discovirtual\httpdocs\discovirtual\"& arquivo &""binFile = ObjFile.ReadObjFile.CloseSet ObjFile = nothingResponse.Clear Response.ContentType = "application/octet-stream"Response.AddHeader "Content-Disposition", "attachment;filename="& arquivo &""Response.AddHeader "Content-Length", lenb(binFile)Response.BinaryWrite binFileEnd ifEnd if%>

agradeço aew galéra! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce precisa usar o fileexistsIF NOT ObjFile.FileExists(CAMINHOFISICO) THENnão podeELSEseu code de downloadEND IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... tentei fazer o que você colocou mas retornou o seguinte erro:

Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'ObjFile.FileExists' /downloads.asp, line 22

o código ficou assim:
<%Set ObjFile = Server.CreateObject("ADODB.Stream")ObjFile.Type= 1ObjFile.OpenIf not ObjFile.FileExists("c:\inetpub\vhosts\cinefotomary.com.br\subdomains\discovirtual\httpdocs\discovirtual\"& arquivo &"") Then%><script>  alert('Arquivo não encontrado!')  history.go(-1)</script><%elseObjFile.LoadFromFile "c:\inetpub\vhosts\cinefotomary.com.br\subdomains\discovirtual\httpdocs\discovirtual\"& arquivo &""binFile = ObjFile.Read ObjFile.CloseSet ObjFile = nothing Response.Clear Response.ContentType = "application/octet-stream"Response.AddHeader "Content-Disposition", "attachment;filename="& arquivo &""Response.AddHeader "Content-Length", lenb(binFile)Response.BinaryWrite binFileEnd if %>
por favor me avise se estou errando em alguma coisa http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

O teste deve ser feito com FSO, e não com o ADODB.STREAM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahhh sohh...

agora deu certo....

 

o código fika aí pra quem tiver a mesma dúvida:

 

Set ObjFile = Server.CreateObject("ADODB.Stream")ObjFile.Type= 1ObjFile.OpenSet FSO = Server.CreateObject("Scripting.FileSystemObject") If FSO.FileExists("c:\inetpub\vhosts\cinefotomary.com.br\subdomains\discovirtual\httpdocs\discovirtual\"& arquivo &"") ThenObjFile.LoadFromFile "c:\inetpub\vhosts\cinefotomary.com.br\subdomains\discovirtual\httpdocs\discovirtual\"& arquivo &""binFile = ObjFile.Read ObjFile.CloseSet ObjFile = nothing Response.Clear Response.ContentType = "application/octet-stream"Response.AddHeader "Content-Disposition", "attachment;filename="& arquivo &""Response.AddHeader "Content-Length", lenb(binFile)Response.BinaryWrite binFileelse%><script>  alert('Arquivo não encontrado!')  history.go(-1)</script><%End if

valew aí salgado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe se não fui claro mas me referia a FSO mesmo...

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.