Ir para conteúdo

POWERED BY:

Arquivado

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

rd111072

Montar link para arquivo

Recommended Posts

Boa tarde, moçada!

 

 

O seguinte:

 

Quero montar um link para um arquivo hospedado no servidor, através de um form com os campos matricula, ano e mês.

 

O arquivo é .pdf (então o nome do arquivo seria "matricula+ano+mes.pdf" ).

 

 

Na página que exibe o link, antes tenho que fazer uma consulta para saber se esse arquivo está registrado num banco.

 

 

Minha dúvida principal é como montar esse link.

 

Alguém sabe???

Compartilhar este post


Link para o post
Compartilhar em outros sites

utiliza javascript pra dar o submit no form.

 

concatena as variaveis matricula+ano+mes, pra ter acesso ao arquivo no server.

 

ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não manjo muito de js, vamos ver no que dá:

 

<script>
function BuscaArquivo(matricula, ano, mes){
  document.form.seuformulario.action = matricula+ano+mes."pdf";
  document.form.submit()
}
</script>

ai no formulário tu faz assim.

 

<form name="seuformulario"  OnSubmit= BuscaArquivo(matr, ano, mes);>

ou no botão mesmo.

 

<input type="button" onClick=BuscaArquivo(matr, ano,mes) />

acho que é algo assim... :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, na página que exibo o link tenho recuperar o valor formatado por essa função js???

 

como faria isso, lembrando que além do link ainda tenho que fazer uma consulta no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

varMatricula = Request.Form("campo_matricula")
varAno = Request.Form("campo_ano")
varMes = Request.Form("campo_mes")

varTodas = varMatricula&varAno&varMes &".pdf"

Response.Write(varTodas)

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia moçada.

 

Consegui resolver mais esse problema com a ajuda de vocês.

 

Primeiramente montei o link, dessa forma:

 

Response.Write "<a href='"&varTodas&"' >"&("Imprimir Boleto")&"</a>"

Mas aí seria mais uma página, mais uma etapa que o usuário teria que passar até chegar no bendito .pdf.

 

Então achei melhor pôr um redirect direto pro .pdf, antes fazendo uma consulta no banco. Ficou assim:

 

CODE
<%

varMatricula = Request.Form("matricula")

varAno = Request.Form("ano")

varMes = Request.Form("mes")

 

varTodas = varMatricula&varAno&varMes &".pdf"

vardoBanco = varMatricula&varAno&varMes

 

%>

 

 

 

<%

db = Server.MapPath("boletos.mdb")

connstring = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & db

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open connstring%>

 

<%

SQL="Select nm_boleto From tb_boletos WHERE nm_boleto= '" & vardoBanco & "' "

set RS = Conn.Execute(SQL)

 

 

IF RS.EOF THEN

Response.write("<script>location = 'boleto0.asp';alert('Boleto não encontrado!')</script>")

Else

Response.Redirect ""&varTodas

End if

 

%>

Ficaria melhor se no redirect já fosse passado algum comando para imprimir o documento automaticamente, até mesmo sem abrí-lo no browser.

Não sei se é possível e ainda não achei nada assim por aqui. Se alguém souber como, me dê um toque. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Muito obrigado a todos e principalmente ao caro colega Public2004.

 

Vlws!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para imprimir, acho que terá que abrir o arquivo, mas se quiser forçar o download sem visualização do pdf, tente isso:

 

Monte o redirect assim:

Response.Redirect "nova_pagina.asp?var="&vardoBanco

Depois, crie uma nova página e insira este código abaixo:

<%
'Recupere a variável "vardoBanco" que foi passada por query pela outra página no redirect:

varPDF = Request("var") &".pdf"

Response.Buffer = True
Response.AddHeader "Content-Type","application/x-msdownload"
Response.AddHeader "Content-Disposition","attachment; filename=" & varPDF
Response.Flush

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile Server.MapPath(varPDF)
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
Response.Flush
%>

Esse código irá forçar o download do arquivo.

 

Espero que ajude.

 

Abs.

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.