Ir para conteúdo

POWERED BY:

Arquivado

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

adventure

Rodar script asp

Recommended Posts

Olá a todos do FórumMinha dúvida é básica, mas aí vai.Estou fazendo um site que para o usuário fazer o download de algum arquivo é necessário estar logado.Para alguém não ter acesso aos arquivos sem estar logado eu irei coloca-los em uma pasta com um nome absurdo (urdnvjhqp) desta forma ele não achara os arquivos digitando downloads, arquivos, ou algo parecido.O problema é que mesmo eu colocando os arquivos em uma pasta com um nome absurdo, quando o usuário clica no link ele vai ver o caminho completo.A solução que encotrei para isto foi usar um script que achei na internet que abre um pop-up e junta as informações (file_path+file_name) e coloquei um script para desabilitar o botão direito do mouse.A questão é que eu gostaria de saber se é possível eu fechar este pop-up automaticamente assim que aparecer a tela para salvar o arquivo ou se dá para chamar esta página de forma oculta, sem que mude a página que está no navegador.VALEU!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com o <iframe> eu poderei rodar a página de forma oculta?Se usar o Window.Close() ou Response.Redirect (para voltar a página inicial) após o direcionamento para o download também não funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,Com o iframe a pagina roda dentro do iframe.Ex. você cria uma espaço dentro da pagina A, e dentro deste espaço roda a pagina B.bom você poderia abrir a janela por javascript.Ex.<a href="#" onClick="abre()" >link</a><script language="JavaScript">function abre(){ newWindow = window.open('link.asp','window2','height=300,width=400,status=yes,menubar=no,resizable=yes,scrollbars=yes,top=750,left=550');}</script>onde window2 é o nome da jabnela que esta abrindo, dai você coloca medidas bem pequenas e top e left bem no canto...com um close no final.Assim ele nem repara que abre a pagina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas se eu fecho o pop-up logo em seguida ao redirecionamento ele não funciona. Usando o iframe também deve ocorrer a mesma coisa, a única diferença é que não seria um pop-up e sim dentro da mesma página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Na verdade o pop-up não precisaria aparecer, veja o código dele:

 

<%Set RS = Server.CreateObject("ADODB.RecordSet")Sql = "SELECT * FROM tbl_downloads WHERE ID=" & IDRS.Open Sql, cString   file_name = rs("file_name")   file_path = rs("file_path")   ID = rs("ID")RS.CloseSet RS = Nothing  GoToPath = file_path+file_name  Response.Write ("<font face=Arial size=4 color=#003366>Downloading...</font><br>")%><script type="text/javascript">document.location="<%=GoToPath%>"</script>

Já tentei colocar o Window.Close, mas o pop-up fecha antes de aparecer a tela para salvar o arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo do que eu uso:

Na minha Index tenho o sequinte JavaScript

<script language="JavaScript">
function abrir(URL) {

var width = 50;
var height = 50;

var left = 99;
var top = 99;

window.open(URL,'', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
}
</script>

Que uso num link, da seguinte forma:

<a href=""JavaScript:abrir('Download.asp?ID_Est="& RS("ID") &"');"">Baixar esse Estudo?</a>

E o arquivo Download.asp é esse:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<% Response.Buffer = True

ID_Estudo = Trim(Replace(Request("ID_Est"),"'","''"))

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

' Str = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=Database;UID=;PWD=;"

Str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.MapPath("BD\DataBase.mdb") &";"

Conn.Open Str

' SQL = "Select * From Estudos Where ID = '"& ID_Estudo &"' Order By ID Desc;"

SQL = "Select * From Estudos Where ID = "& ID_Estudo &";"

Set RS = Conn.Execute(SQL)

 

If Not RS.EOF Then

Response.AddHeader "Content-Type","application/x-msdownload"

Response.ContentType = "application/pdf" 'msword"

Response.AddHeader "

Content-Disposition","attachment; filename="& RS("Titulo") &".pdf" '.doc"

Response.Flush()

Response.Write(RS("Estudo"))

Response.Flush()

End If

 

RS.Close

Set RS = Nothing

Conn.Close

Set Conn = Nothing

%>

[/tr]
Só não consegui gerar corretamente o PDF para ler no Reader, e o .DOC exibe tags HTML, se alguém souber e quiser ajudar!

 

Ah, dessa forma o POP-UP abre e depois fecha sozinho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado, achei outra idéia:Criar uma pasta no host antes do www, desta forma os usuários não autorizados não terão acesso aos arquivos, é melhor que criar uma pasta com um nome absurdo que ficaria vulnerável.Através de uma página asp que usa o Response.BinaryWrite é possível iniciar o download.O problema é que eu nunca ouvi falar nisso e passei a manhã inteira procurando mais informações e não encontrei muita coisa.Se alguém souber como faz isto eu agradeço.VALEU!!!

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.