Pessoal, será que alguém poderia me solucionar uma dúvida??
Tenho este código para abertura de arquivos, ele funciona normal, mas se uma das variáveis tiver um nome composto, ele não abre o arquivo.
Outra coisa, quando mando imprimir na tela a variável "caminho_foto", se a variável tiver nome simples ele me retorna o caminho completo, mas se tiver nome composto ele não me retorna nada...
Será que alguém teria alguma sugestão????
Abçs
<%
a=request.querystring("a")
b=request.querystring("b")
c=request.querystring("c")
'Declaramos as variáveis e os objetos que iremos utilizar na memória
'Postamos no browser o conteúdo do Response.AddHeader, pois abaixo iremos ler os dados binários de um arquivo 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 = "F:\Root\Produtos\"& a &"\"& b &"\relatorios\"& c &".pdf"
response.write caminho_foto&"<br><br>"
'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 o arquivo 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.
Pergunta
thicomp
Pessoal, será que alguém poderia me solucionar uma dúvida??
Tenho este código para abertura de arquivos, ele funciona normal, mas se uma das variáveis tiver um nome composto, ele não abre o arquivo.
Outra coisa, quando mando imprimir na tela a variável "caminho_foto", se a variável tiver nome simples ele me retorna o caminho completo, mas se tiver nome composto ele não me retorna nada...
Será que alguém teria alguma sugestão????
Abçs
<%
a=request.querystring("a")
b=request.querystring("b")
c=request.querystring("c")
'Declaramos as variáveis e os objetos que iremos utilizar na memória
Dim objFSO, Caminho_Foto
Response.AddHeader "enc-Type","multipart/form-data"
'Habilitamos o Buffer
Response.Buffer = True
'Postamos no browser o conteúdo do Response.AddHeader, pois abaixo iremos ler os dados binários de um arquivo 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 = "F:\Root\Produtos\"& a &"\"& b &"\relatorios\"& c &".pdf"
response.write caminho_foto&"<br><br>"
'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 o arquivo 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
%>
Link para o comentário
Compartilhar em outros sites
3 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.