Guest - Marcelo - Postado Agosto 3, 2005 Denunciar Share Postado Agosto 3, 2005 Pessoal,estou utilizando um script para forçar download de um arquivo (segue abaixo), mas os arquivos que os usuários fazem o download estão chegando corrompidos. Já verifiquei no servidor e os arquivos estão ok.Alguém poderia me ajudar?<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Download</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body> <%Response.Buffer = trueResponse.Expires = 0 Dim arquivoDim objStream, sFileData, lsizearquivo=session("arq")Const adTypeBinary = 1Set objStream = Server.CreateObject("ADODB.Stream")objStream.OpenobjStream.LoadFromFile arquivoobjStream.Type = adTypeBinarysFileData = objStream.Read(-1) lSize = objStream.Size objStream.CloseSet objStream = NothingResponse.AddHeader "Content-Disposition", "attachment; filename="&right(arquivo,len(arquivo)-instrRev(arquivo,"\"))Response.AddHeader "Content-Type","application/zip"Response.AddHeader "Content-Length", lSize Response.Flush Response.BinaryWrite sFileData on error goto 0 Response.End session("arq")=""%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JCMPJ Postado Agosto 3, 2005 Denunciar Share Postado Agosto 3, 2005 Tente mudar esta linha:sFileData = objStream.Read(-1) parasFileData = objStream.Read Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Marcelo - Postado Agosto 3, 2005 Denunciar Share Postado Agosto 3, 2005 Não mudou nada, o problema continua. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Marcelo - Postado Agosto 3, 2005 Denunciar Share Postado Agosto 3, 2005 Usei um outro programa descompactador e ele informou que está com problema no header do arquivo zip. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JCMPJ Postado Agosto 3, 2005 Denunciar Share Postado Agosto 3, 2005 Tente assim:<%dim arquivoarquivo=nome.tipoResponse.AddHeader "Content-Disposition", "attachment;filename=""" & arquivo & """"Const adTypeBinary = 1Set objStream = Server.CreateObject("ADODB.Stream")objStream.OpenobjStream.Type = adTypeBinaryfl = "c:\caminho" & arquivo objStream.LoadFromFile flResponse.BinaryWrite objStream.ReadobjStream.CloseSet objStream = Nothing%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Marcelo - Postado Agosto 3, 2005 Denunciar Share Postado Agosto 3, 2005 Valeu Cara!Agora deu certo.Muito Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Marcelo -
Pessoal,
estou utilizando um script para forçar download de um arquivo (segue abaixo), mas os arquivos que os usuários fazem o download estão chegando corrompidos. Já verifiquei no servidor e os arquivos estão ok.
Alguém poderia me ajudar?
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Download</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
Response.Buffer = true
Response.Expires = 0
Dim arquivo
Dim objStream, sFileData, lsize
arquivo=session("arq")
Const adTypeBinary = 1
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.LoadFromFile arquivo
objStream.Type = adTypeBinary
sFileData = objStream.Read(-1)
lSize = objStream.Size
objStream.Close
Set objStream = Nothing
Response.AddHeader "Content-Disposition", "attachment; filename="&right(arquivo,len(arquivo)-instrRev(arquivo,"\"))
Response.AddHeader "Content-Type","application/zip"
Response.AddHeader "Content-Length", lSize
Response.Flush
Response.BinaryWrite sFileData
on error goto 0
Response.End
session("arq")=""
%>
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.