Postada em 10/02/2005 14:40 hs
/* Oi,
Estou tendo problema com response.redirect p/ fazer download qdo. uso um gerenciador de download é integrado com o browser(estou usando download accelerator)! Já sem esta integração o download é feito sem problemas usando diretamente o navegador(I.E. 6)
Veja rotina q tb grava dados em BD sobre download antes do redirect:
<%@LANGUAGE="VBSCRIPT"%> <% Option Explicit Response.Expires = -1 Response.Buffer = True
Dim BDEncr1 '»»BD 1 usado neste módulo. BDEncr1 = "ccmfiolymb!}vq" %> <!--#include file="includes/embaralhar.asp" --> <!--#include file="includes/conexao_geral.asp" --> <html> <head> <title>Download de Tutoriais</title> </head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <% Dim SQL '»»Usada no acesso a BD. Dim CodTutorial '»»Cód. da dica ou tutorial. Dim Compactado '»»Arquivo compactado a ser feito o download. Dim DtDownload,IP '»»Data e IP de quem fez o download.
Compactado = Trim(Request.QueryString("Compactado")) & ""
'»»Procedimento p/ fechar e tirar objetos da memória. Sub FecharObjetos() objConexao.Close Set objConexao = Nothing End Sub
'»»INÍCIO: Campos obrigatórios. CodTutorial = Request.QueryString("CodTutorial")
DtDownload = Now DtDownload = Replace(DtDownload,"00:00:00","00:00:01") '»»FIM: Campos obrigatórios.
'»»INÍCIO: Campos NÃO obrigatórios. IP = Trim(Request.ServerVariables("REMOTE_ADDR")) '»»FIM: Campos NÃO obrigatórios.
'»»INÍCIO: Consistência 1: verifica se os campos obrigatórios foram preenchidos corretamente. If CodTutorial = "" or not IsNumeric(CodTutorial) then Response.Write "" Response.End() ElseIf Compactado = "" then Response.Write "" Response.End() Else '»» Começa a inclusão(INSERT). SQL = "Insert into TutoriaisDownload(nu_CodTutorial,dt_Download,nm_IP) values (" _ & CodTutorial & ",'" & DtDownload & "','" & IP & "')" ' Response.Write SQL ' Response.End() objConexao.Execute(SQL) '»»Está mandado executar End If '»»FIM: Consistência 1: verifica se os campos obrigatórios foram preenchidos corretamente.
'»»INÍCIO: Rotina p/ indicar se houve erro ou não nesta página. If Err.Number = 0 then Call FecharObjetos '»»Procedimento p/ fechar e tirar objetos da memória. Response.Redirect("tutoriais/" & Compactado) Else Call FecharObjetos '»»Procedimento p/ fechar e tirar objetos da memória. %> <!--#include file="includes/descricao_num_erro.asp" --> <% End If '»»FIM: Rotina p/ indicar se houve erro ou não nesta página. %>
</body> </html>
Grato,
Vilmar */
http://www.vilmarbro.com.br
|