<% email_ok = Request.Cookies("email") IF Request.Cookies("email") = "" then Response.Redirect("../../nologin.asp") ELSE %> <% Dim data_cad, LOG_NOME, LOG_COUNT, objFSO, Caminho_Foto data_cad = Date() LOG_COUNT = 0 IP = Request.Cookies("ip") LOG_NOME = rsGeral("users_nome") &" "& rsGeral("users_sobrenome") Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = admin_conexao MM_editCmd.CommandText = "insert into users_downloads (log_users_nome,log_users_email,log_users_file,log_users_ip,log_users_count,log_users_acesso) values ('"& LOG_NOME & "','"& email_ok & "','Apresenta%E7%E3o%20Word%203DXML.doc','"& IP &"','1','"& data_cad &"')" MM_editCmd.Execute MM_editCmd.ActiveConnection.Close set MM_editCmd = Nothing Response.ContentType="application/download" 'Response.AddHeader "Content-Type","image/jpeg" Response.AddHeader "Content-Disposition", "attachment; filename=Apresenta%E7%E3o%20Word%203DXML.doc" Response.Buffer = "True" 'Postamos no browser o conteúdo do Response.AddHeader, pois abaixo iremos ler os dados binários de um arquivo JPEG e o cabeçalho, tem que estar setado como Content-Type image/jpeg Response.Flush 'Declaramos o valor da variável como caminho físico do local que se encontra a foto. Caminho_Foto = "e:\home\tecmes\dados\download\3dxml\Apresenta%E7%E3o%20Word%203DXML.doc" 'Iniciamos a instância do componente FSO, pois verificaremos se o arquivo existe no caminho determinado pelo usuário. Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 'Através do método FileExists do componente FSO impomos a condição para verificamos se o caminho físico do arquivo é um caminho válido, para evitar erros ao processar ao carregar o arquivo abaixo If objFSO.FileExists(Caminho_Foto) = "True" Then 'Declaramos a variável do objeto que usaremos abaixo Dim objLerArquivo 'Declaramos uma constante necessária para ser usado no componente instanciado abaixo. Const adTypeBinary = 1 'Instanciamos o componente responsável por ler a imagem e retornar a mesma. Set objLerArquivo = Server.CreateObject("ADODB.Stream") 'Iniciamos a operação pela propriedade Open objLerArquivo.Open 'Especificamos ao objeto qual será o tipo de dados que o componente deve processar neste caso entra a constante declarada acima, apontando o tipo de arquivo para binário. objLerArquivo.Type = adTypeBinary 'Carregamos o Arquivo no componente pela propriedade LoadFromFile objLerArquivo.LoadFromFile Caminho_Foto 'Exibimos na tela utilizando o Response.BinaryWrite, o resultado do arquivo que o ADODB.Stream processou acima. Response.BinaryWrite objLerArquivo.Read 'Fechamos o Objeto objLerArquivo.Close 'Terminamos a instancia ao componente liberando a memória Set objLerArquivo = Nothing 'Novamente devolvemos todo conteúdo, armazenado em buffer Response.Flush 'Limpamos o buffer Response.Clear() Else 'Caso o arquivo não seja encontrado, limpamos o buffer e terminamos o programa. Response.Clear() Response.End End If 'Terminamos a instância com o componente FSO e liberamos a memória. Set objFSO = Nothing End If %>