我正在尝试使用 Blobstore API 在 GAE 中上传文件。在本地运行 GAE 服务器(开发模式)时出现以下异常:
WARNING: /_ah/upload/ag10cmlwc2NoZWR1bGVychsLEhVfX0Jsb2JVcGxvYWRTZXNzaW9uX18YFQw
java.lang.IllegalStateException: Must call one of set*BlobStorage() first.
at com.google.appengine.api.blobstore.dev.BlobStorageFactory.getBlobStorage(BlobStorageFactory.java:24)
at com.google.appengine.api.blobstore.dev.UploadBlobServlet.init(UploadBlobServlet.java:88)
at javax.servlet.GenericServlet.init(GenericServlet.java:215)
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
我正在运行 GAE 1.3.5,但尝试了自 GAE 1.3.0(Blobstore 的第一个版本)以来的所有版本。我正在使用 GAE Maven 插件:http ://code.google.com/p/maven-gae-plugin/
我的表格是用 GWT 2.0.4 编写的。目前,表单只是一个带有提交的文件输入字段。
提交表单后,我收到上述异常。我能够从 Blobstore 服务成功检索上传 URL。
在 GAE 上一切正常。我已验证本地开发环境中的 blobstore 中没有输入任何内容(通过开发管理控制台)。我正在上传一个 ~1Kb 的 CSV,但也尝试了其他文件类型/大小但没有成功(相同的文件适用于 GAE 产品)。