我正在将GAE应用程序从废弃的File迁移到。我过去经常持久化blobKey,但是从现在开始,由于对它的部分支持(如指定的这里),我必须持久化对象名称。不幸的是,来自GCS的对象名称大致如下所示
/gs/桶名/819892hjd81dh19gf872g8211
如您所见,它还包含桶名。
这是一个问题,每次我需要获得文件以便进一步处理(或者在servlet中提供文件)时,我需要创建GcsFileName(bucketName,objectName)的一个实例,它给我提供了如下内容
/bucketName/gs/bucketName/akahsdjahslagfasgfjkasd
这(当然)不管用。
所以。我的问题是:-我如何从GcsFileName objectName中生成一个objectName?
更新
我尝试使用objectName作为BlobKey。但是它就是不起作用
InputStream is = new BlobstoreInputStream(blobstoreService.createGsBlobKey("/gs/bucketName/akahsdjahslagfasgfjkasd"));我得到了通常的答案
BlobstoreInputStream收到一个无效的blob密钥
如何使用ObjectName获取文件?
发布于 2015-01-30 17:42:13
如果您已经持久化并检索了字符串String objname值(例如"/gs/bucketname/819892hjd81dh19gf872g8211" ),则可以在"/“(String[] pieces = objname.split("/"))上拆分它,并在调用GcsFileName时适当地使用这些片段。
https://stackoverflow.com/questions/28235334
复制相似问题