2015-10-28 4 views
0

Мне нужно получить относительный путь к определенному файлу изображения (add.png) в моем проекте eclipse. Экран печати прилагается.Как получить относительный путь к файлу изображения

enter image description here

Моего Java класс путь является SRC/главным/Java/COM/а/контроллер/myClass.java

+0

, где вы хотите, чтобы доступ к изображению? 1. клиент 2. сторона сервера – Braj

ответ

0

Это зависит от ваших записей в вашем пути к классам затмения. Как представляется, проект maven, поэтому, скорее всего, ваш каталог webapp должен быть частью пути к классам. И если это так, то относительный URL для файла будет начинаться от изображений каталога, как это:

images/add.png 
+0

Я попробовал загрузчик ClassLoader = Thread.currentThread(). GetContextClassLoader(); \t System.out.println (loader.getResource ("images/signature.png")); Но он получает значение null. –

1

Попробуйте использовать объект загрузчика классов.

ClassLoader loader = Thread.currentThread().getContextClassLoader(); 

Это позволит вам получить доступ к файлам на пути к классам. Посмотрите на метод getResource, который возвращает URL.

Я заметил на скриншоте, что eclipse не классифицирует «src/main/webapp» в разделе «Ресурсы Java». Я думаю, это означает, что eclipse не помещает эту папку webapp в ваш путь к классам. Возможно, вам нужно настроить путь сборки eclipse. Вкратце, щелкните правой кнопкой мыши по проекту, щелкните свойства, нажмите «построить путь» слева, выберите вкладку «источник» и добавьте «src/main/webapp».

0

Относительный путь начинается с /.

Если вы видите изображение в JSP-файле, попробуйте использовать библиотеку основных тегов.

, например:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<c:url value="/images/add.png"/> 

Если вы хотите получить доступ к файлу изображения на стороне сервера затем поместить файл под resources папку, которая идет непосредственно к классам.

Вы можете попробовать с Spring ClassPathResource прочитать ресурсы из пути к классам, которые хранятся непосредственно под папкой resources.

Например:

try (InputStream in = new ClassPathResource("/images/add.png").getInputStream()) 
    { 
     ... 
    } 
    catch (IOException e) 
    { 
     .... 
    } 
Смежные вопросы