Ir para conteúdo

POWERED BY:

Arquivado

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

ricardovg

Código pra forçar download

Recommended Posts

Galera ....Tentei usar vários códigos ... tentei fazer o meu mas só deu erro ... alguém tem algum código que force qualquer extensão para download, ao invés de abrir no navegador ?????valeu ....Fuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii :ph34r:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera ... eu condegui achar um... pra falar a verdade não lembro onde .. acho que foi no ASP Brasil .....mas precisei adaptar algumas coisas ... funcionou que foi um beleza ..... heheheheheheSegue o código .... uma sugestão para os moderadores . .. poderia colocá-lo na seçao de códigos .No meu caso as informações vinham do banco pq preciso ter controle sobre os downloads, mas deixei os de querystring tbm***********************************<%@ Language=VBScript %><%dim varPathdim varFileDim rsDownloadDim varId'Path = Request.QueryString("Path")'File = Request.QueryString("File")varErro = 0varId = Request.QueryString("Id")strSQL = "SELECT * FROM tblArquivos WHERE IdArquivo = "&varID&""Set rsDown = Server.CreateObject("AdoDB.Recordset")rsDown.open strSQL, Conn_StringIF Not rsDown.EOF Then varPath = rsDown("Path") varFile = rsDown("FileName") varIdsUser = rsDown("IdUser") varArquivo = varPath & varFile 'Response.Write(varPath) 'Response.End() '*********************************** 'GRAVA DOWNLOAD NO BANCO DE DADOS '*********************************** strSQL = "INSERT INTO tbl_CR_Downloads ( IdUser, IdUpload, SessaoID ) VALUES ( "&Session("IdUSer")&", "&varId&", '"&Session.SessionID&"' )" Set rsIns = Server.CreateObject("ADODB.Recordset") rsIns.Open strSQL, Conn_String Set rsIns = NothingElse varMSG = varMSG & "<br><br>• Nenhum arquivo foi encontrado para o ID : " & varId varErro = 1End IFrsDown.CloseSet rsDown = Nothing'***********************************'VERIFICA SE ENCONTROU ALGUM ERRO NO CAMINHO'Se o arquivo existe'***********************************Set objFS = Server.CreateObject("Scripting.FileSystemObject")If Not objFS.FileExists(varArquivo) Then varMSG = varMSG & "<br><br>• O Arquivo não existe no servidor selecionado, tente em outro." varErro = 1End IfSet objFS = NothingIf varErro = 1 Then Response.Write("Verefique o(s) Erro(s) abaixo : <br><br>") Response.Write(varMSG) 'Response.Write("<script>self.close();</script>") Response.End()End If'***********************************'VERIFICA SE ENCONTROU ALGUM ERRO NO CAMINHO'Avisamos que o modelo do arquivo será para download'***********************************response.AddHeader "Content-Type","application/x-zip-compressed"'***********************************'Identificamos o nome que queremos para o arquivo de destino'mude o Filename para o nome que você deseja !'***********************************response.AddHeader "Content-Disposition","attachment; filename=" & varFileResponse.FlushResponse.Buffer = TrueConst adTypeBinary = 1'***********************************'O ADODB Stream foi utilizado para lermos o arquivo em formato'binário, o FileSystemObject não permite leituras binárias e 'se fosse convertido para texto poderíamos danificar o arquivo.'***********************************Set objStream = Server.CreateObject("ADODB.Stream")objStream.OpenobjStream.Type = adTypeBinary'***********************************'Informe aqui o caminho completo do arquivo no servidor,'se você não souber o caminho completo, mude o "E:\Home..." por'Server.MapPath("Nome_Do_Arquivo")'***********************************objStream.LoadFromFile varArquivo 'Server.MapPath(Path)Response.BinaryWrite objStream.Read'***********************************'Destroi objeto'***********************************objStream.CloseSet objStream = NothingResponse.Flush%>Espero que seja útil ..... :lol: Fuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii :ph34r:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinta-se livre para postar lá na Área de Códigos.

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.