2017-10-02 5 views
0

Ich habe versucht, ein Bild hochladen zu tomcat und Glassfish-Server, Pfad Ich habe versucht, ist zu setzen, wie unten System.getProperty("user.dir")+ File.separator+"images"+File.separator;Wie ein Bild Web-Ressource-Ordner in tomcat hochladen oder glassfish

Es System.getProperty("user.dir") als tomcat C:\Apache\Tomcat\bin und Glasfischen nimmt ' Verzeichnis C: \ Apache \ glassfish4 \ glassfish \ domains \ domain1 \ config`. Ich benutze Intellij, um das System zu entwickeln.

Ich möchte ein Bild in out/artifacts/CopywriteProtector_war)exploded/Resources/images Ordner hochladen, so dass ich auf die Bilder zugreifen kann mit http://localhost/Resources/images/msg.jpg, wie geht das? Ich habe Tage Zeit damit verbracht, googeln, aber nicht in der Lage könnte nützliche Sache

enter image description here

Antwort

1

Sie erhalten die Wurzel Ihrer bereitgestellten Anwendung mit

String root = getServletContext().getRealPath("/"); 

Diese wird das Äquivalent der Ressourcen finden Verzeichnis Ihres Quellcodes. Fügen Sie den Dateipfad hinzu, an dem Sie Ihr Bild haben möchten. dh

String filePath = root + "images/msg.jpg"; 

Dann können Sie erstellt Ihre Verfasser von diesem Pfad

BufferedWriter writer = new BufferedWriter(new FileWriter(filepath); 
writer.write(objectToWrite);//or similar 

Sie dann die resultierende Datei zugreifen können mit

getServletContext().getResource(filePath); // as URL or 
getServletContext().getResourceAsStream(filePath); // as InputStream 

- geprüft und bearbeitet Payara (ein Anwendungsserver abgeleitet von Glassfish)