Это может или не может быть элегантное решение, но вы можете думать, делать это следующим образом:
Если вы хотите чтобы группировать изображения, загруженные в BlobStore в разных альбомах, вам нужно будет захватить blob-ключи и логически связать их с именами альбомов.
Вы можете подумать о форме, которая просит пользователя ввести название альбома, а затем у него есть возможность загрузить изображения и отправить его, чтобы загрузить его в blobstore.
Для примера:
Say если загрузить 3 изображения с именами Image_1.jpg, Image_2.jpg, Image_3.jpg и при условии, название альбома, как Demo Album и после загрузки вы получили 3 BLOB-ключи Key_1, Key_2, Key_3, так что теперь вам нужно создать 3 отдельных объектов в хранилище данных с видом говорят Image_Album и с имуществом blob_key и имя альбома.
Вы бы три записи хозяйственника рода Image_Album как:
blob_key album_name
Key_1 Demo Album
Key_2 Demo Album
Key_3 Demo Album
Как это вы можете иметь н количество записей и при отображении альбомов, вы можете запросить хранилищу для всех различных ALBUM_NAME для вид лица Image_Album, который будет вашим количеством присутствующих альбомов. Извлеките все blob-ключи для каждого отдельного имени альбома и откройте их с помощью blobstore на своей веб-странице.
EDIT:
После вы загрузили несколько изображений Blobstore через форму затем в обработчик загрузки сервлета вы будете иметь все ключи, хранящиеся в карте, и вы можете получить доступ к ним, как это:
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req);
for (String key : blobs.keySet())
{
for (BlobKey value : blobs.get(key))
{
String x =value.getKeyString()
}
}
Вам необходимо создать объект отдельно, который сохранит все изображения BlobKey и imageURL (ImageService API), а также вы сможете группировать все изображения в этом объекте и сохранять изображения в виде объекта списка внутри вашего объекта альбома. –