2012-03-30 9 views

risposta

13

La funzionalità di download non è attualmente implementata in WebView. È possibile implementarlo da soli controllando la proprietà posizione di WebView e quindi creando il codice appropriato per eseguire il download.

webView.getEngine().locationProperty().addListener(new ChangeListener<String>() { 
    @Override public void changed(ObservableValue<? extends String> observableValue, String oldLoc, String newLoc) { 
    // check if the newLoc corresponds to a file you want to be downloadable 
    // and if so trigger some code and dialogs to handle the download. 
    } 
}); 

Un esempio di codice per gestire un download da JavaFX si possono trovare in questo zenjava blog entry. Modifica: questa pagina del blog non esiste più. Ecco lo latest archive di questa pagina del blog.

I download nei browser Web sono spesso attivati ​​dalle intestazioni http content-type o content-disposition e possono essere basati su un mapping di estensione di file/tipo mime. Lo schema sopra funzionerà solo per una mappatura dell'estensione file in cui l'estensione del file è derivata dalla posizione. Per gestire i download basati su un'intestazione content-type o content-disposition, è probabile che sia necessario implementare il proprio gestore della connessione url java.net.

Per ottenere questa funzionalità implementata nelle librerie core JavaFX, è possibile controllare lo JavaFX Jira per una richiesta di funzionalità attorno a questo e, se non è presente, creare una nuova richiesta di funzionalità.

+0

Grazie per le informazioni! –

Problemi correlati