Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Forzare download e cghiusura finestra

    Ciao a tutti e buon anno.

    Ho inserito la possibilità di forzare il download di un file .txt e fin qui tutto bene. Vorrei però che la pagina che richiama il file si chiudesse in automatico. Se inserisco un bel

    codice:
    response.redirect "pagina_che_si_chiude_automaticamente.asp"
    quando vado a leggere il file scaricato, al suo interno, oltre ai dati desiderati, trovo anche la scritta response.redirect....

    Come posso ovviare secondo voi?

  2. #2
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Prova ad utilizzare javascript per l'operazione che devi eseguire.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    Qualsiasi cosa io scriva sulla pagina al di fuori del codice asp che mi crea il file txt e poi mi dà la possibilità di scaricarlo, mi viene riportato sul file stesso. Quindi anche eventuale codice javascript.

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da Dirk Pitt
    Qualsiasi cosa io scriva sulla pagina al di fuori del codice asp che mi crea il file txt e poi mi dà la possibilità di scaricarlo, mi viene riportato sul file stesso. Quindi anche eventuale codice javascript.
    probabilmente c'è qualcosa che non va nella generazione del file txt...
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  5. #5
    Non penso sia sbagliato. Come vedi qui, anche il moderatore consiglia di eliminare tutto l'html presente sulla pagina http://forum.html.it/forum/showthrea...rzare+download

  6. #6
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da Dirk Pitt
    Non penso sia sbagliato. Come vedi qui, anche il moderatore consiglia di eliminare tutto l'html presente sulla pagina http://forum.html.it/forum/showthrea...rzare+download
    Se hai tempo e voglia puoi passarmi il codice che utilizzi per fare delle prove anche sul mio di server, altrimenti non so come aiutarti.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  7. #7
    Eccoti il codice

    codice:
    <%
    file = "lista.txt"
    
    sqlstring = "SELECT indirizzo FROM mailing WHERE status = 1"
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.ActiveConnection = objConn
    objRs.Open sqlstring
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.CreateTextFile(Server.MapPath(file))
    
    Do while not objRs.EOF
    
    	email = objRs("indirizzo")
    	objTextFile.WriteLine email
    
    objRs.Movenext
    Loop
    
    objTextFile.Close
    Set objTextFile = Nothing
    Set objFSO = Nothing
    
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    
    path = server.mappath(file)
    strNome = file
    
    Set objStream = Server.CreateObject("ADODB.Stream")
    
    objStream.Type = 1 'adTypeBinary
    objStream.Open
    objStream.LoadFromFile path
    
    ' stream generico, IE chiede di salvare
    Response.ContentType = "octet/stream"
    
    ' imposto il nome del file
    Response.AddHeader "Content-Disposition", "attachment;filename=" & StrNome
    
    Response.BinaryWrite objStream.Read
    
    objStream.Close
    Set objStream = Nothing
    
    %>

  8. #8
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Ho fatto delle prove con il tuo codice; il risultato è:

    1) generazione del file lista.txt con all'interno soltanto gli indirizzi email con status=1;

    2) vengo reindirizzato alla pagina index.asp senza alcun problema

    codice:
    <%
    
    Set cn = Server.CreateObject("ADODB.Connection")
    OpenStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("../mdb/database.mdb")
    cn.Open openStr
    
    file = "lista.txt"
    
    sqlstring = "SELECT email FROM mailing WHERE status = 1"
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.ActiveConnection = cn
    objRs.Open sqlstring
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.CreateTextFile(Server.MapPath(file))
    
    Do while not objRs.EOF
    
    	email = objRs("email")
    	objTextFile.WriteLine email
    
    objRs.Movenext
    Loop
    
    objTextFile.Close
    Set objTextFile = Nothing
    Set objFSO = Nothing
    
    objRs.Close
    Set objRs = Nothing
    cn.Close
    Set cn = Nothing
    
    path = server.mappath(file)
    strNome = file
    
    Set objStream = Server.CreateObject("ADODB.Stream")
    
    objStream.Type = 1 'adTypeBinary
    objStream.Open
    objStream.LoadFromFile path
    
    ' stream generico, IE chiede di salvare
    Response.ContentType = "octet/stream"
    
    ' imposto il nome del file
    Response.AddHeader "Content-Disposition", "attachment;filename=" & StrNome
    
    Response.BinaryWrite objStream.Read
    
    objStream.Close
    Set objStream = Nothing
    
    response.redirect "../index.asp"
    
    
    %>
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  9. #9
    codice:
    stringa sql...
    
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.ActiveConnection = objConn
    objRs.Open sqlstring
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.CreateTextFile(Server.MapPath(file))
    
    Do while not objRs.EOF
    
    	email = objRs("indirizzo")
    	objTextFile.WriteLine email
    
    objRs.Movenext
    Loop
    
    objTextFile.Close
    Set objTextFile = Nothing
    Set objFSO = Nothing
    
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    
    path = server.mappath(file)
    strNome = file
    
    Set objStream = Server.CreateObject("ADODB.Stream")
    
    objStream.Type = 1 'adTypeBinary
    objStream.Open
    objStream.LoadFromFile path
    
    ' stream generico, IE chiede di salvare
    Response.ContentType = "octet/stream"
    
    ' imposto il nome del file
    Response.AddHeader "Content-Disposition", "attachment;filename=" & StrNome
    
    Response.BinaryWrite objStream.Read
    
    objStream.Close
    Set objStream = Nothing
    
    response.redirect "chiudi.asp"
    Vengo anche io reindirizzato alla pagina chiudi.asp, ma il file che genero non mi viene proposto per il download. E' come se tutta la creazione del file non esistesse.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.