Visualizzazione dei risultati da 1 a 8 su 8

Discussione: forzare i download

  1. #1
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774

    forzare i download

    salve a tutti,
    avrei bisogno di linkare al mio sito flash dei pdf ma non voglio che il browser tenti di aprirli
    automaticamente...
    al contrario vorrei far aprire la classica finestra di download in cui l'utente può decidere se aprire il file o scaricarlo.

    ho trovato qualcosa nel forum riguardo la classe FileReference, ed ho provato ad utilizzarla .. però senza successo...

    vi posto il codice che ho scritto:

    codice:
    on (press) {
           import flash.net.FileReference;
    
           var listener:Object = new Object();
    
           var fileRef:FileReference = new FileReference();
           fileRef.addListener(listener);
           var url:String = "/immaginisito/pdf";
           if(!fileRef.download(url, "activator.pdf")) {
                    trace("dialog box failed to open.");
           }
    
    }
    qualcuno sa dirmi come mai non funziona?

    ho anche letto da qualche parte che questa classe da dei problemi agli utenti MAC...
    sapete se è stato risolto il bug o se è tuttora presente?
    eventualmente c'è una soluzione per non tagliare fuori il mondo mac?

    grazie a todos
    citruz

  2. #2
    non li puoi zippare?? :master:

  3. #3
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    Originariamente inviato da Julius86
    non li puoi zippare?? :master:
    no mannaggia...
    quell'infame di explorer ora riesce pure ad aprirsi gli zip..
    ma perchè non si fa un po' i cXXXi suoi???
    l'immortacci sua...

  4. #4
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    in ogni caso, mac o non mac, il problema sullo script che ho postato rimane...
    qualcuo sa dirmi come mai non va?
    grazie
    citrus

  5. #5
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    nessuno sa darmi una dritta?

  6. #6
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    visto che con la FileReference ho problemi che non riesco a risolvere avrei pensato ad una
    alternativa ma avrei cmq bisogno di un vostro consiglio...

    ecco a cosa avrei pensato:
    se io usassi un getUrl che mi apre una pagina in _blank richiamando al suo interno il
    file pdf, e modificassi gli header della pagina impostandoli su pdf (o altro)...
    potrei forzare l'apertura della finestra di download anzichè fargli aprire direttamente il pdf?

    è un alternativa estrema e molto probabilmente non funzionerà... ma non so a cos'altro pensare

    aiutatemi pls

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ci sarebbe un modo, da testare meglio, con PHP

    si tratterebbe in sostanza di forzare il caricamento come si farebbe in html su un normale href

    la cosa sarebbe così composta

    - script php che legge una variabile in GET con il nome del file da scaricare e modifica gli header in modo di scaricare il file invece di visualizzarlo

    - script su flash, nel pulsante, che richiama la pagina php con il file in GET

    in codice :


    Codice PHP:
    <?php
    // file "download.php"
    if(!empty($_GET)){
        
    $d "./";
        
    $f = (isset($_GET['f'])) ? $_GET['f'] : null;
        if(!
    is_null($f)){
            
    $ext strtolower(array_pop(explode("."$f)));
            if(
    is_file("$d$f") && $ext == "pdf"){
                
    header("Content-type: Application/octet-stream");
                
    header("Content-Disposition: attachment; filename=$f");
                
    header("Content-Description: Download PHP");
                
    readfile("$d$f");
            }
        }
    }
    ?>
    codice:
    // Flash AS Code for PDF download
    var pdf = "prova.pdf";
    myButton.onRelease = function() {
    	getURL("download.php?f="+pdf);
    };
    il codice esegue il download solo per i tipi "pdf", e solo dalla cartella specificata sulla variabile $d, almeno in questo modo dovrebbe esserci un minimo di sicurezza, senza dare la possibilità di scaricare qualsiasi tipo di file da qualsiasi cartella del sito

    testato con IE, FF e Opera

  8. #8
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    si lo avevo pensato anche io ma avrei preferito evitare la parte lato server anche
    perchè la macchina su cui gira i lsito ha un iis che quindi ospita solo asp...
    mentre io lavoro con php/java e francamente odio l'asp
    cmq quel che c'è da fare si fa, tanto è uno scriptino veloce

    se cmq qualcuno di voi proponesse una soluzione lato flash (oppure anche javascript)
    e volesse proporla sarei felicissimo

    ps: un ultima cosa:
    ma non si può, da flash stesso, modificare gli header della pagina che si va ad aprire?

    grazie mille
    citrus

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.