Blobstore API を使用して GAE にファイルをアップロードしようとしています。GAE サーバーをローカルで (dev モードで) 実行すると、次の例外が発生します。
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 (ブロブストアの最初のバージョン) 以降のすべてのバージョンを試しました。私は GAE maven プラグインを使用しています: http://code.google.com/p/maven-gae-plugin/
私のフォームは GWT 2.0.4 で書かれています。現在、フォームは送信を伴う単なるファイル入力フィールドです。
フォームを送信した後、上記の例外を受け取ります。Blobstore Service からアップロード URL を正常に取得できました。
すべてがGAEで正常に動作します。ローカルの開発環境のブロブストアに何も入力されていないことを確認しました (開発管理コンソール経由)。~1Kb の CSV をアップロードしていますが、他のファイル タイプ/サイズも試しましたが成功しませんでした (GAE 製品でも同じファイルが機能します)。