在我的应用程序(GAE 上的 GWT)中,我们将存储在 blobstore 上的服务 URL 存储在我们的数据库中。当用户选择其中一个文件并单击“删除”时,我们需要从 blobstore 中删除该文件。
这是我们的代码,但它根本没有删除文件:
public void remove(String fileURL)
{
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
String key = getBlobKeyFromURL(fileURL);
BlobKey blobKey = new BlobKey(key);
blobstoreService.delete(blobKey);
}
哪里fileURL
看起来像这样:
http://lh6.ggpht.com/d5VC0ywISACeJRiC3zkzaZug-tPsaI_LGt93-e_ATGTCwnGLao4yTWjLVppQ
并且getBlobKeyFromURL()
会返回最后一个“/”之后的内容,在这个例子中:
d5VC0ywISACeJRiC3zkzaZug-tPsaI_LGt93-e_ATGTCwnGLao4yTWjLVppQ
*编辑: *似乎 getBlobKeyFromURL() 返回的不是 blobKey。blobKey 是一个不同的字符串,它与/download?blob-key=
before 一起返回fileURL
. 所以现在的问题是:如何从 URL 中获取 blobKey?
你能建议吗?
谢谢