Ich versuche ein Projekt mit Vaadin 7.6 und Spring Boot zu programmieren. Ich möchte in der Ma-Seite ein Bild anzeigen. Dafür habe ich das Buch von Vaadin gelesen, in dem ich gefunden habe:Bild in einem Vaadin 7.6 und Spring Boot Projekt lesen
// Find the application directory
String basepath = VaadinService.getCurrent()
.getBaseDirectory().getAbsolutePath();
// Image as a file resource
FileResource resource = new FileResource(new File(basepath + "/WEB-INF/images/image.png"));
// Show the image in the application
Image image = new Image("Image from file", resource);
Aber es gibt ein Problem. Beim Spring-Boot gibt es keinen WEB-INF-Ordner. Ich habe diesen Ordner bekommt:
- Ressourcen
- Ressourcen/static
- Ressourcen/templates
ich das Verzeichnis erstellt habe resources/static/images
und ich habe ein Bild gespeichert. Nachdem, ich habe so einen Code versucht:
String basePath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath();
FileResource resource = new FileResource(new File(basePath + "/images/telecaster.jpg"));
Image telecaster = new Image("Telecaster", resource);
Aber wenn ich ma Seite versuchen, habe ich die Ausnahme bekam: java.io.FileNotFoundException:/private/var/Ordner/nm/kv40tr650llcmk6rssnxzt900000gn/T/tomcat-docbase.5908407388863057264.8080/images/telecaster.jpg (Keine solche Datei oder Verzeichnis). Mein Bild ist gut bereitgestellt, denn wenn ich die URL http://localhost:8080/images/telecaster.jpg versuche, bekomme ich das Bild.
Wie kann ich von meinem Vaadin-Quellcode auf Bilder (und alle Dateitypen) zugreifen?
Haben Sie versucht, den Vorschlag der andere Antwort? Weil ThemeResource der bevorzugte Weg ist. –