accesscontrolexception:文件可通过浏览器访问,但不在同一服务器



所以为了不重复太多,请参考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")

有谁知道修复方法吗?为什么通过浏览器调用显示了图像,而来自服务器本身的调用抛出了异常?我觉得很奇怪。

如果您将一个文件配置为"静态"资源,它将由一个单独的服务器池提供,该服务器池针对提供静态内容进行了优化。一个后果是,文件是不可用的,从您的应用程序打开。"资源"文件可供应用程序打开和读取。

这里有说明

打开资源时需要使用相对路径。您已经在上面展示了一个绝对路径。

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

相关内容

  • 没有找到相关文章

最新更新