EDIT:ブロブストアに関連するいくつかの他のものの上に読みながら、私はちょうどGoogleは今、メディアのサービス提供のためにGoogleのクラウドストレージの代わりに、ブロブストアを使用することをお勧めしますこと、気づきました。
App Engineでエンドポイントを使用しているので、BlobStore
を使用する必要があります。
App Engineでの画像のアップロード、保存、取得を処理するのが好ましい方法です。
BlobstoreService
の次の機能はアップロードURLを生成します。このURLは、画像データがfile
という名前で渡された標準マルチパートリクエストを使用してアップロードされます。
BlobstoreServiceFactory.getBlobstoreService().createUploadUrl("/[servlet name goes here]");
アップロードが完了した後にリクエストがリダイレクトされるサーブレットの名前を指定する必要があります。このサーブレットは、新しく作成されたBlobstoreアイテムにアクセスして、意味のある何かを行うことができます。たとえば、画像のサービスURLを取得してクライアントに返します。ここで
はちょうどそれを行うサーブレットの抜粋です:
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
List<BlobKey> blobs = blobstoreService.getUploads(req).get("file");
BlobKey blobKey = blobs.get(0);
ImagesService imagesService = ImagesServiceFactory.getImagesService();
ServingUrlOptions servingOptions = ServingUrlOptions.Builder.withBlobKey(blobKey);
servingOptions.secureUrl(true);
String servingUrl = imagesService.getServingUrl(servingOptions);
res.setStatus(HttpServletResponse.SC_OK);
res.setContentType("text/plain");
PrintWriter out = res.getWriter();
out.print(servingUrl);
out.flush();
out.close();
}
あなたはまた、サーブレットで読み取ることができますアップロードURLに独自のいくつかのクエリ文字列パラメータを追加することができます。これは、ブロブストアでのより深い一見のため
など特定のエンティティにblobKeyにを取り付けるようなもののために有用であることができ、私はRominイラニのApp Engineのチュートリアルからの次の記事をお勧めします。私が見る
https://rominirani.com/episode-13-using-the-blobstore-java-api-56423cf6a1b#.6t95vziul
ああを!ありがとうございました。それは完璧な意味合いです。 –