【问题标题】:Retrieve a Blob by ID/Name from Google Blobstore从 Google Blobstore 按 ID/名称检索 Blob
【发布时间】:2015-07-26 19:38:40
【问题描述】:

在 Blobstore 中存储图像非常有效,尤其是因为 serving url 不需要任何前端实例。

ServingUrlOptions options = ServingUrlOptions.Builder.withBlobKey(blobKey);
String url = imagesService.getServingUrl(options);

上传图片后,我丢弃了文件名(它是自动生成的)。数据存储控制台中的 Blob 类型为 __GsFileInfo__,并具有如下字段:

Key: agljbHV0dHJ3ZWJyY...
Write Ops: 10
ID/Name: encoded_gs_key:L2dzL2NsdXR0ci81MDkxZmFlMC1iMGVhLTQxNzctYmU...
content_type: application/octet-stream
creation: Fri May 08 15:13:26 CDT 2015
filename: /gs/bucket1234/5091fae0-b0ea-4177-be46-36cc7df5a36c

我注意到服务 url 与 ID/Name 相同 - 这是我对 blob/图像的唯一句柄。有没有办法通过ID/Name get blob?

【问题讨论】:

    标签: google-app-engine blobstore google-cloud-datastore


    【解决方案1】:

    如果您尝试通过 itd blobkey 检索 blob,请使用:

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

    【讨论】:

    • 谢谢。我使用 ID/名称来构造 BlobKey 但服务找不到它。因为我不需要serve,所以我只是试图删除它并得到Could not delete blob: <BlobKey: encoded_gs_key:L2dzL2NsdXR0ci81YTJkOGMwNy0xMWQyLTRiOWYtOGFlZC1jOGNjOGMyMDMwNzU>
    猜你喜欢
    • 2012-05-15
    • 2011-07-28
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多