2012-05-06 10 views
2

これに続いて、Blobstoreにアップロードする方法についてはblobstore documentです。 JSP +サーブレットのアプローチによるアップロードを示します。AppEngine Blobstoreへのアップロードファイル

私のアプリはGWTに基づいているので、私はGWT RPC(JSPではなく)に適応する必要があります。私のアプリRPCサービスの実装でそう

public class MyServiceImpl extends RemoteServiceServlet implements 
    MyService { 

    public String getUploadUrl() { 
    BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 
    return blobstoreService.createUploadUrl("/upload") 
    } 
} 

は、これは正しいアプローチですかそれを正しく行うには、他の方法はありますか?私はこのコードを試していません。

アップロードされるバイナリは、最大バイト数で2MBまでです。

これに続いて、Blobstoreにアップロードする方法についてはblobstore documentです。 JSP +サーブレットのアプローチによるアップロードを示します。

私のアプリはGWTに基づいているので、私はGWT RPC(JSPではなく)に適応する必要があります。私のアプリRPCサービスの実装でそう

public class MyServiceImpl extends RemoteServiceServlet implements 
    MyService { 

    public String getUploadUrl() { 
    BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 
    return blobstoreService.createUploadUrl("/upload") 
    } 
} 

は、これは正しいアプローチですかそれを正しく行うには、他の方法はありますか?私はこのコードを試していません。

アップロードされるバイナリは、最大バイト数で2MBまでです。

私はこのコードを試してみたときに、これは、サーバ側のコンソールログです:

May 07, 2012 6:35:53 AM com.google.appengine.tools.development.LocalResourceFileServlet doGet 
WARNING: No file found for: /crossdomain.xml 

次に、クライアント側GWT.logにRPCが、それは動作しません。しかし、URLを生成することができた。

[INFO] [blobrpc] - Success fetch upload url: http://127.0.0.1:8888/_ah/upload/aglub19hcHBfaWRyGwsSFV9fQmxvYlVwbG9hZFNlc3Npb25fXxgDDA 

答えて

2

createUploadUrl()は、コンテンツタイプヘッダーmultipart/form-dataを持つHTTP POSTが必要なURLを作成します。

GWT-RPCを使用する場合は、Blobstore FileService APIを使用してサーバー側にファイルを作成する必要があります。

+0

なるほど、私はFormElementフォームを使用する場合、= Document.get()createFormElement()。 form.setAction(url_from_rpc);これは有効ですか?または、このアプローチでアプリケーションにセッションの問題が発生しますか? – xybrek

+0

私はBlobstore FileService APIの助けを借りて作業コードを書くことができましたが、私はストリーミングファイルのアップロードを処理するいくつかの方法を書く必要があります。先端に感謝します。 – xybrek

+0

'gwtupload'プロジェクトには、ストリーミングを含むGAEのサーバ側サポートがいくつかあります:http://code.google.com/p/gwtupload/source/browse/#svn%2Ftrunk%2FGwtUpload%2Fgae%2Fsrc%2Fmain%2Fjava%2Fgwtupload %2Fserver%2Fgae –

0

ファイルをそのURLに投稿すると、ブロブストアに保存されます。ただし、ローカル開発WebサーバーのデフォルトURLはhttp://127.0.0.1:8888/であり、blobstoreによって生成されたURLはhttp://:8888 /です。これにより、後で問題が発生します。セキュリティ上の理由から、Pluploadはファイルを別のドメインにPOSTすることができません。これはローカル開発サーバーでのみ発生します。公開されるアプリはURLを1つしか持たないでしょう。 EclipseでRun Configurationsを編集し、-bindAddressを引数に追加して修正します。これにより、ローカル開発サーバーはhttp://:8888 /にWebアプリケーションをホストします。この変更後にアプリケーションを読み込むために、GWTブラウザプラグインで許可する必要があります。

Multiple file upload using GWT and AppEngine Blobstore?

関連する問題