在Google App Engine上使用Java客户端api保存到Google云存储时拒绝访问
我将遵循Google应用程序引擎示例,将数据保存到Google云存储 但我一直得到以下例外:在Google App Engine上使用Java客户端api保存到Google云存储时拒绝访问,java,google-app-engine,google-cloud-storage,Java,Google App Engine,Google Cloud Storage,我将遵循Google应用程序引擎示例,将数据保存到Google云存储 但我一直得到以下例外: Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Users\...\war\WEB-INF\appengine-generated\encoded_gs_key:L2dzL2NvZGVhdmVuZ2Vycy5hcHBzcG90LmNvbS90ZXN0MTQ6anM"
Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Users\...\war\WEB-INF\appengine-generated\encoded_gs_key:L2dzL2NvZGVhdmVuZ2Vycy5hcHBzcG90LmNvbS90ZXN0MTQ6anM" "write")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
at java.security.AccessController.checkPermission(AccessController.java:559)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:429)
at java.lang.SecurityManager.checkWrite(SecurityManager.java:979)
at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
at com.google.appengine.api.blobstore.dev.FileBlobStorage.storeBlob(FileBlobStorage.java:46)
... 57 more
以下是调用该函数的代码:
GcsFilename filename = new GcsFilename("xxx.appspot.com", id + ":" + file);
writeObjectToFile(filename, data);
您的文件和文件夹权限有问题。请检查试图访问给定文件或文件夹的用户是否有权这样做。我正在从eclipse运行服务器。我尝试以“管理员”的身份启动eclipse,但没有成功。我正在使用BlobstoreAPI和图像服务将用户上传的图像存储在Google云存储上,并且一切正常,我假设这是保存到同一个文件夹中。此外,数据存储的本地版本也存储在同一文件夹中。。。所以我很困惑这是怎么一个权限问题?我也有同样的问题。它曾经工作过,现在开始出现这个错误。你找到答案了吗?如果你仍然有这个问题,我在看到这个问题后通过将appengine升级到1.9.27版来解决它
GcsFilename filename = new GcsFilename("xxx.appspot.com", id + ":" + file);
writeObjectToFile(filename, data);