编程语言
首页 > 编程语言> > java-使用文件服务URL从blobstore删除文件

java-使用文件服务URL从blobstore删除文件

作者:互联网

在我的应用程序(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 =,它返回fileURL.所以现在的问题是:如何从URL中获取blobKey?

你能请教吗?

谢谢

解决方法:

无法从服务网址派生原始Blobkey.如果这是您要执行的操作,那么我建议存储URL->生成URL时,数据存储区中的BlobKey映射.

标签:blobstore,google-app-engine,google-cloud-datastore,java,gwt
来源: https://codeday.me/bug/20191031/1977691.html