Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Apertura file pdf

  1. #1

    Apertura file pdf

    Ciao a tutti,
    vengo da una discussione sul forum html che riguarda le modalità di apertura di file linkati.
    Mi servirebbe poter far scaricare un file pdf e non farlo aprire nel browser.
    Riporto di seguito ciò che mi hanno scritto lì


    Quando un utente vuole scaricare un file,prima che il server carichi il file da inviare, invii al browser i cosidetti "header" ossia intestazioni che non si vedono ma che il browser può interpretare, che dicono al browser appunto di scaricare il file e non di trovare un applicativo in grado di aprirlo(questo generalmente avviene con internet explorer).
    Quindi inviando queste istruzioni prima di inviare il reale contenuto della pagina(che nel tuo caso è un file) riesci ad ottenere lo scaricamento e non l'apertura automatica del file stesso.


    Qualcuno sa darmi una mano?
    Fatemi sapere.
    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667
    in pratica un modo epr forzare il download di un file?
    io uso questo

    codice:
    FileSize=Dimensioni del file da scaricare
    FileName=Nome da dare al file che scarico
    FileFullPath=Nome e percorso del file da scaricare
    
    Response.Clear
            Dim adoStream
            Set adoStream = Server.CreateObject("ADODB.Stream")
              adoStream.Open()
              adoStream.Type = 1
              adoStream.LoadFromFile FileFullPath
              Response.AddHeader "Content-Disposition", "attachment;filename=" & FileName
          		Response.AddHeader "Content-Length", FileSize
    
              Response.ContentType = "application/octet-stream"
              Response.BinaryWrite(adoStream.Read())
              adoStream.Close
            Set adoStream = Nothing
            Response.End

  3. #3
    Grazie, provo poi se ho problemi ti faccio sapere.

  4. #4
    Originariamente inviato da Galex
    in pratica un modo epr forzare il download di un file?
    io uso questo

    codice:
    FileSize=Dimensioni del file da scaricare
    FileName=Nome da dare al file che scarico
    FileFullPath=Nome e percorso del file da scaricare
    
    Response.Clear
            Dim adoStream
            Set adoStream = Server.CreateObject("ADODB.Stream")
              adoStream.Open()
              adoStream.Type = 1
              adoStream.LoadFromFile FileFullPath
              Response.AddHeader "Content-Disposition", "attachment;filename=" & FileName
          		Response.AddHeader "Content-Length", FileSize
    
              Response.ContentType = "application/octet-stream"
              Response.BinaryWrite(adoStream.Read())
              adoStream.Close
            Set adoStream = Nothing
            Response.End

    Funziona!!!
    Nota: fileSize va espresso in BYTES!

    Fedrok
    Corsi di Shiatsu a Brescia? Corso di Shiatsu a Brescia?
    ____________________________________
    Visto che la luce viaggia piu' veloce del suono, sara' per questo che molte persone appaiono brillanti finchè non le senti parlare?

  5. #5
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667
    wow,certo che dal 14 luglio...


  6. #6

    The definitive...

    Ciao.
    Partendo dallo script suggerito da Galex, ho sviluppato del codice un po' più autonomo, al quale basta conoscere il full path del file sul quale forzare il download.

    Lo allego qui sotto:

    codice:
    <%@ Language = "VBScript" %>
    <% option explicit
    
    Dim  fileSize , fileName , FileFullPath
    'FileSize=Dimensioni del file da scaricare in BYTES
    'FileName=Nome da dare al file che scarico
    'FileFullPath=Nome e percorso del file da scaricare
    
    fileFullPath = "c:\nomefile.ext"		' Inserire qui il fullPath del file da downloadare.
    
    
    Dim fso, fileObj
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fileObj = fso.GetFile(FileFullPath) 
    
    fileSize = fileObj.size  
    fileName = fileObj.name
    
    
    Set fileObj = nothing
    Set fso = nothing
    
    
    Response.Clear
    
    Dim adoStream
    Set adoStream = Server.CreateObject("ADODB.Stream")
    adoStream.Open()
    adoStream.Type = 1
    adoStream.LoadFromFile fileFullPath
    Response.AddHeader "Content-Disposition", "attachment;filename=" & fileName
    Response.AddHeader "Content-Length", fileSize
    Response.ContentType = "application/octet-stream"
    Response.BinaryWrite( adoStream.Read() )
    adoStream.Close
    Set adoStream = Nothing
    
    
    %>
    E' testato e funzionante.
    Basta personalizzarlo inserendo il valore a piacere della variabilefileFullPath.

    Fedrok
    Corsi di Shiatsu a Brescia? Corso di Shiatsu a Brescia?
    ____________________________________
    Visto che la luce viaggia piu' veloce del suono, sara' per questo che molte persone appaiono brillanti finchè non le senti parlare?

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.