Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: effettuare download

  1. #1

    effettuare download

    Ciao ,
    Volevo chiedervi in che modo posso implementare un download nel mio sito, quelli in cui compare una finestra in cui bisogna scegliere dove salvare il file(txt o pdf ecc.) o di aprirlo.
    Potete essere "semplici" e specifici, per favore o indirizzarmi a qualche guida che da informazioni al riguardo?
    Grazie!!!!!!!

  2. #2
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    ti passo questa semplice guida...

    Lo script seguente permette essenzialmente di:
    1. effettuare il download di files senza mostrarne il reale indirizzo.
    2. scaricare anche file di tipo DOC, PDF etc. che normalmente si aprirebbero nella finestra del browser.

    Per default lo script cerca il file da scaricare nella sua stessa cartella (cioè nella cartella dove risiede lo script, in questo caso la root del sito). Nel caso i files per il download si trovassero invece in una cartella apposita (consigliato) basta cambiare la riga seguente:
    - objStream.LoadFromFile Server.MapPath(strFileName)
    con quest'altra:
    - objStream.LoadFromFile Server.MapPath("nomecartella/" & strFileName)

    Ecco il listato dello script:
    <%
    Dim objStream, strFileName
    strFileName = Request.QueryString("file")
    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Type = 1 ' adTypeBinary
    objStream.Open
    objStream.LoadFromFile Server.MapPath(strFileName)
    ' Istruiamo il browser sul tipo di file
    Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
    Response.ContentType = "application/octet-stream"
    Response.BinaryWrite objStream.Read
    objStream.Close
    Set objStream = Nothing
    %>

    Ed ecco un esempio di utilizzo (presuppone che lo script stia nel file "download.asp"):
    Scarica il file

  3. #3
    Grazie mille, morphy79, lo proverò e ti faccio sapere...
    Grazie ancora tanto.....


  4. #4

    va bene

    va bene grazie

  5. #5
    Ho trovato utilissimo questo sistema, ma ho una domanda:
    se io copio nella barra degli indirizzi del broswer "download.asp?file=pippo.doc" riesco comunque a scaricare il file. Come posso fare per fare in modo che il file venga scaricato SOLTANTO cliccando sul link? E' sufficiente mettere i file in una cartella non accessibile da web? (In questo caso, il file download.asp riesce a prelevare questi file e a farli scaricare?)
    Grazie mille.
    Marcello: "Non ti preoccupare, è tutto CSS, senò è finita che separiamo la grafica dai contenuti. E allora 'o W3C parla a vacant?"
    Vincenzo: "Spesso sì."

    Utonter . Puliti dentro e belli fuori.

  6. #6
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    bella domanda... così d'impatto mi viene da dirti che non si può..
    cioè per fare il download.asp devi avere tutti i permessi e quindi è sempre scaricabile...
    più che altro, non vedo quale è il problema in questione... spiegami meglio ??
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  7. #7
    Beh, il mio problema è questo: http://forum.html.it/forum/showthrea...hreadid=768461
    (ho postato l'url per evitare il crossposting).
    Marcello: "Non ti preoccupare, è tutto CSS, senò è finita che separiamo la grafica dai contenuti. E allora 'o W3C parla a vacant?"
    Vincenzo: "Spesso sì."

    Utonter . Puliti dentro e belli fuori.

  8. #8
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    ok ho letto !!!
    la soluzione è come ha detto roby :

    Linki ad una pagina che prende il file da una cartella che non consente il download da web, lo copia in un'altra che invece lo consente e poi lo scarichi, automaticamente o da altro link, e poi lo cancelli.

    in pratica il tuo download asp va cambiato in questo modo :

    <%
    Dim objStream, strFileName
    strFileName = Request.QueryString("file")
    Set objStream = Server.CreateObject("ADODB.Stream")


    ' QUI INSERISCI IL CODICE CHE COPIA IL FILE DALLA CARTELLA IN CUI
    ' SI TROVA ( UNA CARTELLA SENZA PERMESSI ) IN UNA CARTELLA ESISTENTE
    ' CHE CHIAMI DOWNLOAD ( QUESTA DEVE AVERE I PERMESSI)


    objStream.Type = 1 ' adTypeBinary
    objStream.Open


    ' LE RIGHE SEGUENTI VANNO CAMBIATE, BISOGNA SOSTITUIRE strFileName
    ' CON IL PATH DEL FILE DELLA CARTELLA CON PERMESSI
    objStream.LoadFromFile Server.MapPath(strFileName)
    ' Istruiamo il browser sul tipo di file
    Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName


    Response.ContentType = "application/octet-stream"
    Response.BinaryWrite objStream.Read
    objStream.Close
    Set objStream = Nothing


    'ALLA FINE METTI IL CODICE CHE CANCELLA IL FILE NELLA CARTELLA CON
    ' I PERMESSI
    %>


    scusami se non ho messo direttamente il codice, ma è piuttosto semplice e dovresti farcela tranquillamente da solo...
    se cmq non ce la fai VENERDI' ti posso aiutare... adesso sto per andare a casa...
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  9. #9
    Ti ringrazio moltissimo... ma non so proprio cosa scrivere per far copiare il file in una nuova cartella... adesso cerco qualcosa qui sul forum e in giro, altrimenti posto di nuovo venerdì. Grazie mille!
    Marcello: "Non ti preoccupare, è tutto CSS, senò è finita che separiamo la grafica dai contenuti. E allora 'o W3C parla a vacant?"
    Vincenzo: "Spesso sì."

    Utonter . Puliti dentro e belli fuori.

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    File System Object

    Roby

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.