里面的AccessControlException JSP创建文件
-
13-09-2019 - |
题
我尝试创建一个JSP中一个新的文件,并尝试将其保存:
final File file1 = new File("piechart.png");
ChartUtilities.saveChartAsPNG(file1, targetChart, 600, 400, info);
我得到的AccessControlException:
java.security.AccessControlException: access denied (java.io.FilePermission piechart.png write)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:122)
at java.lang.SecurityManager.checkWrite(SecurityManager.java:962)
at java.io.FileOutputStream.<init>(FileOutputStream.java:169)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.jfree.chart.ChartUtilities.saveChartAsPNG(ChartUtilities.java:328)
最终目标是创建和显示在相同的JSP文件:
<IMG SRC="piechart.png" WIDTH="600" HEIGHT="400" BORDER="0" USEMAP="#chart">
此外,这是谷歌的应用程序引擎环境中。
解决方案
谷歌应用程序引擎不支持写入到磁盘。
从FAQ:
写入本地文件是不是在App Engine中,由于应用程序的分布式特性的支持。相反,必须保留的数据应该存储在分布式档案系统。有关详细信息,请参阅上运行时沙箱的文档。
不隶属于 StackOverflow