2012-03-30 14 views

Antwort

13

Die Download-Funktion ist derzeit in WebView nicht implementiert. Sie können es selbst implementieren, indem Sie die Standorteigenschaft des WebView überwachen und anschließend den entsprechenden Code zum Ausführen des Downloads erstellen.

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. 
    } 
}); 

Ein Beispiel für Code, um einen Download von JavaFX zu handhaben kann in diesen zenjava blog entry finden. Edit: Diese Blog-Seite existiert nicht mehr. Hier ist die latest archive dieser Blogseite.

Downloads in Webbrowsern werden oft von http content-type oder content-disposition Header ausgelöst und können auf einer MIME-Typ/Dateierweiterung Mapping basieren. Das obige Schema funktioniert nur für eine Dateierweiterungszuordnung, bei der die Dateierweiterung vom Speicherort abgeleitet wird. Um Downloads basierend auf einem Content-Type- oder Content-Disposition-Header zu verarbeiten, müssten Sie wahrscheinlich Ihren eigenen java.net-URL-Verbindungs-Handler implementieren.

Um diese Funktionalität in den JavaFX-Kernbibliotheken implementiert zu bekommen, können Sie die JavaFX Jira für eine Feature-Anforderung in der Umgebung überprüfen und, falls diese nicht vorhanden ist, eine neue Feature-Anforderung erstellen.

+0

Danke für die Info! –