2011-06-29 14 views
0

GWTファイルウィジェットとフォームパネルを使用している場合、誰かがGoogleアプリケーションエンジンのblobstoreでアップロードを処理する方法を説明できますか?GWT GAE Blobからアップロード

答えて

1

Google blobstoreは、http経由でBLOBをアップロードして配信するように特別に設計されています。 Blobstoreサービス(BlobstoreServiceFactory.getBlobstoreService()を使用して取得)は、html形式で使用するhttp postアクションを生成します。それにファイルを投稿することによって、blobをblobstoreにアップロードします。 「データ」は、フォーム内のファイルフィールドであることを、

Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req); 
BlobKey blobKey = blobs.get("data"); 

注:このアクションを生成するときに、あなたがアップロードblobキーへのアクセス権を持っているハンドラ(サーブレット)へのパスを提供します。あなたが持っているのは、ブロブ(あなたのファイル)の鍵です。ここからあなたがコントロールを取る - あなたは(キーを使用して)ページブロブを果たす以降および/または直後に、このキーを保存することができます:もちろん

BlobKey blobKey = new BlobKey(req.getParameter("blob-key")); 
blobstoreService.serve(blobKey, res); 

を、詳細については、Googleのdocumentationご覧ください。

それはあなたがラインでブロブラインとしてアップロードされたファイルを処理できるGoogleマッパー(初歩的なマップ-減らす)サービス(作業中)に統合されていることをブロブストアの一つの便利な機能:クライアント側でhttp://ikaisays.com/2010/08/

+0

は、どのような私はフォームの動作を – Noor

+0

フォームに設定する必要があります: 'String uploadUrl = blobstoreService.createUploadUrl("/upload "); ここで、/ uploadは、後に処理する私のサーブレットへのマッピングです(「

」) blobをblobstoreに保存しました(答えの1番目のコードスニペット)。私はGWT GAEのアップロードを使用してい – topchef

+0

、それが正常にアップロードされたブロブキー= lSPbUItHU2v6jKhMUrcF7gDQUlofRktEPkocaPpO2Y4wwOQwd1-Tt51HUpDom3HPKAix3xxMbUD3eFnpQoLVIvXwYuJ_i7EU30RCTVwRJf_fvgが、私は、URLを使用して設定するとき、それはファイルをouputtingされるが見つからない?私はservlet.gupld与えます – Noor

関連する問題