私のアプリ(GAEのGWT)では、blobstoreに保存されているサービングURLをデータベースに保存しています。ユーザーがこれらのファイルの1つを選択して[削除]をクリックすると、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を取得するにはどうすればよいですか。
アドバイスをいただけますか?
ありがとう