2014-11-18 7 views
0

Я планирую создать сайт с использованием сервлета и JSP. Веб-сайт посвящен веб-галерее. Это мой проект. Я использую «Blobstore» для хранения и получения изображения. Мне нужно создать альбом и хранить в нем изображения.API-интерфейс Google App Engine Java API

Вопросы araised в моей голове:

  1. Как хранить несколько изображений под одним именем. Например, «Album-1» Это имя .. Как сохранить изображения под этим именем.

  2. Мне нужен список альбомов в хранилище данных, который будет отображаться на веб-странице. Если я нажму, то он будет показывать изображения под этим альбомом.

Может кто-нибудь дать решение или намек на что возможные коды ..

+0

Вам необходимо создать объект отдельно, который сохранит все изображения BlobKey и imageURL (ImageService API), а также вы сможете группировать все изображения в этом объекте и сохранять изображения в виде объекта списка внутри вашего объекта альбома. –

ответ

0

Это может или не может быть элегантное решение, но вы можете думать, делать это следующим образом:

Если вы хотите чтобы группировать изображения, загруженные в 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() 
     } 
    } 
+0

Теперь я получил четкое представление. – ansariBE

+0

И еще одна вещь. Я знаю, как получить один ключ из blobstore с помощью java. Но как получить несколько ключей. Например, для Image_1.jpg, Image_1.jpg, Image_1.jpg будет 3 клавиши. Как получить эти 3 ключа? – ansariBE

+0

Я отредактировал свой ответ, чтобы разместить ваш следующий вопрос. Пожалуйста, измените название вопроса на что-то более конкретное для Blobstore. –