1

所以为了不重复我自己,请参考java google-enpoint api 旁边的服务静态图像

正如您从引用的链接中看到的那样,我可以通过 url 查看图像。但是,当我尝试使用类似的代码读取文件名时

public void listFilesForFolder(final File folder) {
    for (final File fileEntry : folder.listFiles()) {
        if (fileEntry.isDirectory()) {
            listFilesForFolder(fileEntry);
        } else {
            System.out.println(fileEntry.getName());
        }
    }
}

final File folder = new File("/home/you/Desktop");
listFilesForFolder(folder);

我得到一个安全异常

java.security.AccessControlException: access denied ("java.io.FilePermission" "/myImages" "read")

有谁知道修复?为什么通过浏览器的调用显示图像,而来自服务器本身的调用却引发异常?我觉得这很奇怪。

4

2 回答 2

1

如果服务器作为服务运行,请确保该服务对您尝试读取的文件夹和文件具有权限。

于 2013-05-13T00:24:21.793 回答
1

如果您已将文件配置为“静态”资源,它将由一个单独的服务器池提供服务,这些服务器池针对提供静态内容进行了优化。结果是无法从您的应用程序中打开该文件。“资源”文件可供应用程序打开和阅读。

在此处记录。

打开资源时需要使用相对路径。您在上面显示了绝对路径。

于 2013-05-13T01:00:43.143 回答