如何获取图像文件的相对路径

时间:2015-10-28 05:31:03

标签: java eclipse spring-mvc

我需要在我的eclipse项目中获取某个图像(add.png)文件的相对路径。 已附上打印屏幕。

enter image description here

我的java类路径是src / main / java / com / abc / controller / myClass.java

3 个答案:

答案 0 :(得分:1)

尝试使用classloader对象。

$('.btn-site').on('click',function() {  
    $( ".menus" ).slideToggle( "slow", function() {
        if($('span').hasClass('arrw_down')){  
            $('span').removeClass('arrw_down');        
        }else{
            $('span').addClass('arrw_down');   
        }
    });
});

这将允许您访问类路径上的文件。查看返回ClassLoader loader = Thread.currentThread().getContextClassLoader(); 的{​​{1}}方法。

我在你的截图中注意到eclipse没有分类" src / main / webapp"在" Java资源"。我认为这意味着eclipse并没有将这个webapp文件夹放在你的类路径中。您可能需要配置eclipse构建路径。简而言之,右键单击项目,单击属性,单击"构建路径"在左侧,选择"来源"选项卡,然后添加" src / main / webapp"。

答案 1 :(得分:0)

这取决于你日食中的classpath条目。因为它似乎是一个maven项目,所以很可能你的webapp目录应该是classpath的一部分。如果是这种情况,那么文件的相对URL将从目录图像开始,如下所示:

images/add.png

答案 2 :(得分: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)
    {
        ....
    }