Frage

Ich versuche, eine neue Datei in einem JSP zu erstellen und sie zu speichern:

final File file1 = new File("piechart.png");
ChartUtilities.saveChartAsPNG(file1, targetChart, 600, 400, info);

Ich erhalte eine 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)

Das eventuelle Ziel ist es, die Datei in derselben JSP zu erstellen und anzuzeigen:

<IMG SRC="piechart.png" WIDTH="600" HEIGHT="400"   BORDER="0" USEMAP="#chart">

Dies befindet sich auch in der Google App Engine -Umgebung.

War es hilfreich?

Lösung

Google App Engine Unterstützt das Schreiben auf Festplatte nicht.

Aus den FAQ:

Das Schreiben in lokale Dateien wird aufgrund der verteilten Art Ihrer Anwendung in der App Engine nicht unterstützt. Stattdessen sollten Daten, die angehalten werden müssen, im verteilten Datenspeicher gespeichert werden. Weitere Informationen finden Sie in der Dokumentation in der Laufzeit -Sandbox.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top