所以为了不重复太多,请参考serve static image along side 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")
有谁知道修复?为什么通过浏览器的调用显示图像,然而来自服务器内部的调用会引发异常?我觉得很奇怪。
答案 0 :(得分:1)
如果服务器作为服务运行,请确保该服务对您尝试阅读的文件夹和文件具有权限。
答案 1 :(得分:1)
如果您已将文件配置为“静态”资源,则它将由为服务静态内容而优化的单独服务器池提供。结果是该文件无法从您的应用程序打开。 “资源”文件可供应用打开和阅读。
记录在案here。
打开资源时,您需要使用相对路径。你已经展示了上面的绝对路径。