图像文件夹java spring的相对路径

时间:2017-08-18 18:06:15

标签: java spring hibernate jsp path

我遇到图像文件夹的相对路径问题。 我想将图像列入文件夹,将其网址添加到列表中并在jsp中显示。 代码是这样的:

File carpetaImagenes = new File("../../../../../webapp/resources/img/maquinas/"+seleccion);
    List<String> listaUrlImagenes = new ArrayList<String>();  

    /** Recorremos el directorio de imagenes de la maquina */
    for(File imagen : carpetaImagenes.listFiles()){  
      String imageFileName = imagen.getName();          
      listaUrlImagenes.add(imageFileName);  
    }  

&#34; carpetaImagenes.listFiles()&#34;的结果永远是空的。我想道路很糟糕。 在这里,您可以看到文件夹树的图像。课程进入&#34; controlador&#34;文件夹和图像进入&#34; webbapp / resources / img / maquinas / 1&#34; enter image description here

我已经尝试了几条没有运气的路径。 非常感谢你。

2 个答案:

答案 0 :(得分:0)

用户跟随方法getImageList,它应该工作

relativeFilePath = "img/maquinas/"+seleccion;

这是classpath的相对路径。我假设../../../../../webapp/resources是你实际部署的所有文件夹。

private List getImageList(String relativeFilePath) {
List<String> listaUrlImagenes = new ArrayList<String>();
try {

    InputStream in = getResourceAsStream(relativeFilePath);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    String resource;

    while ((resource = br.readLine()) != null) {
        listaUrlImagenes.add(resource);
    }
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
return listaUrlImagenes;
}
private InputStream getResourceAsStream(String resource) {
final InputStream in = ClassLoader cl = this.getClass().getClassLoader().getResourceAsStream(
        resource);

return in == null ? getClass().getResourceAsStream(resource) : in;
}

spring 以下应该可以正常工作。

ClassLoader cl = this.getClass().getClassLoader();
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(
        cl);
Resource[] resources = resolver.getResources("classpath:/img/maquinas/"+seleccion);// or *.png
for (Resource resource : resources) {

 listaUrlImagenes.add(resource.getFilename());
}

答案 1 :(得分:0)

终于工作!!

File carpetaImagenes = new ClassPathResource("imagenes/maquinas/"+seleccion).getFile();
    File[] listaImagenes = carpetaImagenes.listFiles();