Вопрос

Я пытаюсь создать новый файл внутри 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">

Кроме того, это находится внутри среды Google App engine.

Это было полезно?

Решение

Движок приложений Google не поддерживает запись на диск.

Из ЧАСТО задаваемых вопросов:

Запись в локальные файлы не поддерживается в App Engine из-за распределенного характера вашего приложения.Вместо этого данные, которые должны быть сохранены, должны храниться в распределенном хранилище данных.Дополнительные сведения см. в документации по изолированной среде выполнения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top