ローカル開発サーバー(Google App Engine + JAVA)のGoogleクラウドストレージにアップロードされたファイルのパブリックリンクを取得する方法

ギリダール

ローカルのGoogleApp Engine DevServerでgcsclient library + javaを使用して画像ファイルをアップロードしようとしています。画像が正常にアップロードされ、localhost:8888 / _ah / admin / datastoreの下のローカルデータストアに作成されたエントリを確認できます。

アップロードした画像の公開鍵を取得して、アプリケーションに画像を表示できるようにする方法。プロフィール写真の例

コードのサンプルコピー:

 String filePath = Constants.gcsUrl + "/" + bucketName + "/"+ objectName;
 GcsService gcsService = GcsServiceFactory
                .createGcsService(new RetryParams.Builder()
                        .initialRetryDelayMillis(10).retryMaxAttempts(10)
                        .totalRetryPeriodMillis(15000).build());
        GcsFilename filename = new GcsFilename(bucketName, objectName);
        GcsFileOptions options = new GcsFileOptions.Builder()
                .addUserMetadata("cache-control",
                        "max-age=" + (86400 * 365)).mimeType(mimeType)
                .acl(ACL_PUBLIC_READ).build();
        GcsOutputChannel writeChannel = gcsService.createOrReplace(
                filename, options);
        writeChannel.write(ByteBuffer.wrap(fileBytes));
        writeChannel.close();
crazystick

ローカル開発サーバーでImagesサービスを使用できます。そのためには、ブロブキーが必要です。

BlobstoreService blobStore = BlobstoreServiceFactory.getBlobstoreService();
BlobKey blobKey = blobStore.createGsBlobKey("/gs/" + filename.getBucketName() + "/" + filename.getObjectName())); // blobKey can be persisted
ImagesService imagesService = ImagesServiceFactory.getImagesService();
String url = imagesService.getServingUrl(ServingUrlOptions.Builder.withBlobKey(image));

サイズ変更は、を追加すること=sxxxxローカルdevserverでも機能しますが、ネイティブイメージサイズを取得することはできません。本番環境で=s0は、URLに追加すると元のイメージが取得されますが、ローカルでは機能しません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ