AccessControlexception Criando arquivo dentro do JSP
-
13-09-2019 - |
Pergunta
Eu tento criar um novo arquivo dentro de um JSP e tento salvá -lo:
final File file1 = new File("piechart.png");
ChartUtilities.saveChartAsPNG(file1, targetChart, 600, 400, info);
Eu recebo uma 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)
O objetivo eventual é criar e exibir o arquivo no mesmo JSP:
<IMG SRC="piechart.png" WIDTH="600" HEIGHT="400" BORDER="0" USEMAP="#chart">
Além disso, isso está dentro do ambiente do Google App Engine.
Solução
Google App Engine não suporta gravar no disco.
Da FAQ:
Escrever para arquivos locais não é suportado no App Engine devido à natureza distribuída do seu aplicativo. Em vez disso, os dados que devem ser persistidos devem ser armazenados no armazenamento de dados distribuídos. Para obter mais informações, consulte a documentação no Sandbox de tempo de execução.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow