2012-01-19 21 views
5

Mam następującą strukturę folderów:Spring MVC: Jak uzyskać ścieżkę do pliku do kontrolera?

ProjectFolder/images/some images 

w tym samym folderze

ProjectFolder/WEB-INF/classes/com/xyz/here is java file of controller. 

Jak mogę uzyskać ścieżkę obrazu w sterowniku?

Proszę, pomóż. Dzięki :)

+0

Dlaczego nie można po prostu użyć '/ obrazy/niektóre obrazy "? – adarshr

+0

Próbowałem to samo, ale wystąpił wyjątek FileNotFound. –

+0

Czy możesz pokazać nam ten kod? – adarshr

Odpowiedz

9

Jeśli jej kontekst internetowa może być coś takiego może pomóc

InputStream is = null ; 
is = request.getSession().getServletContext().getResourceAsStream("/images/someimage.jpg"); 

czy może być coś takiego:

InputStream is = null ; 
String realPath = request.getSession().getServletContext().getRealPath("/images/someimage.jpg"); 
is = new FileInputStream(realPath); 
0

można przechowywać ścieżkę obrazu w pliku właściwości .

zapisz ten plik właściwości w swojej ścieżce klas.

dostęp teraz tę właściwość w swojej klasie kontrolera tak:

Properties properties = new Properties(); 
/*to access your filename.properties file */ 
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("filename.properties")); 

String sServerLocation = properties.getProperty("server.upload.docs.path"); 

uwagę, że trzeba zastosować charater ucieczki w pliku właściwości jak:

server.upload.docs.path=D:\\JDIS3\\DOCS\\ 
Powiązane problemy