【发布时间】:2015-03-29 21:30:11
【问题描述】:
我正在将我的 GAE 应用从已弃用的 File API 迁移到 Google Cloud Storage 客户端库。 我曾经保留 blobKey,但由于从现在开始对它有部分支持(如指定的 here),我将不得不保留对象名称。 不幸的是,来自 GCS 的对象名称看起来或多或少像这样
/gs/bucketname/819892hjd81dh19gf872g8211
如您所见,它还包含存储桶名称
这就是问题所在,每次我需要获取文件以进行进一步处理(或在 servlet 中提供它)时,我都需要创建一个 GcsFileName(bucketName, objectName) 实例,这给了我类似
/bucketName/gs/bucketName/akahsdjahslagfasgfjkasd
哪个(当然)不起作用。
所以。我的问题是: - 如何从 objectName 生成 GcsFileName?
更新
我尝试使用 objectName 作为 BlobKey。但它只是不起作用:(
InputStream is = new BlobstoreInputStream(blobstoreService.createGsBlobKey("/gs/bucketName/akahsdjahslagfasgfjkasd"));
我得到了通常的答案
BlobstoreInputStream 收到无效的 Blob 键
如何使用 ObjectName 获取文件???
【问题讨论】:
标签: java google-app-engine google-cloud-storage