Программа загрузки картинок на сайт под аккаунтом

Андрей19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
17.05.2010

Нужно разработать программу или библиотеку под Windows, которая бы по переданным параметрам подключения: адрес, логин, пароль; и по предоставленным данным (далее - ПД): наименование альбома или картинка + описание подключилась бы к сайту, загрузила бы туда эти данные и вернула идентификатор загрузки (далее - ID) альбома или картинки.

Детали

- Создавать альбомы и загружать картинки с описанием нужно под заданным пользователем в социальных сетях "Одноклассники.ру" и "Вконтакте.ру".

- С программой пользователь непосредственно не работает, то есть она, по сути, служебная. В программу данные передает другая программа через технологию COM или HTTP-запросом (обсуждаемо с разработчиком). Программа по ПД возвращает или ID загруженных данных (альбома или картинки), или ошибку загрузки с описанием.

- Непосредственно само изображение картинки (*.jpg-файл например) может быть передано в виде двоичных данных или через буферный файл (обсуждаемо с разработчиком).

- Каждое обращение к программе - это запрос на создание альбома или картинки, это указывается в ПД (поле "Тип" в примерах);

- Нужна как первичная загрузка данных, так и возможность обновления загруженных данных (поиск по ID).

- При обновлении картинок должны, разумеется, сохраняться комментарии пользователей, которые были оставлены по картинке ранее.

- В ПД отдельным признаком передается параметр - нужно, если картинка найдена, перезагружать заново её изображение (или просто обновляем описание картинки).

- Загружаться будут не менее нескольких тысяч записей. Загрузка будет проходить последовательно.

Алгоритм работы

Загрузка альбомов:

1. Если альбом уже должен существовать, то дополнительно в ПД программе будет передан его ID;

2. Перед созданием нового альбома, если ID в ПД есть, проверяется существует ли альбом с таким ID на самом деле: если он есть, то создавать его не нужно, только обновить наименование альбома; если нет, то создаем новый альбом с наименованием альбома из ПД.

3. Программа возвращает существующий (или созданный) ID альбома, а также ссылку на альбом или ошибку с её причиной, в случае неудачи.

Загрузка картинок:

1. При передаче информации о картинке в программу в ПД обязательно указывается ID альбома, в который загружена (или загружается) картинка. В одной "транзакции" с обработкой картинки должна быть и проверка альбома на его наличие, если альбома нет - прекращение загрузки и вывод ошибки.

2. Если картинка уже должна существовать, то дополнительно в ПД программе будет передан её ID;

3. Перед созданием новой картинки, если ID-картинки в ПД есть, проверяется существует ли картинка с таким ID на самом деле в этом альбома (по ID-альбома): если она есть, то создавать её не нужно, только обновить описание картинки (если стоит соответствующая опция в ПД); если нет, то создаем новую картинку в этом альбоме (по ID-альбома) с описанием картинки из ПД.

4. Программа возвращает существующий (или созданный) ID картинки, а также ссылку на картинку или ошибку с её причиной, в случае неудачи.

Пример "запросов" данных, которые могут быть переданы программе (одна строка - один запрос):

Тип="Альбом";ID-альбома=;Наименование="Телефоны"; // ID-альбома нет, т.к. ранее не загружался

Тип="Альбом";ID-альбома=102328;Наименование="Часы";

Тип="Альбом";ID-альбома=102333;Наименование="Ноутбуки";

Тип="Альбом";ID-альбома=;Наименование="Камеры"; // тоже ранее не загружался

Тип="Картинка";ID-альбома=102328;ID-картинки=202623;ПерегружатьКартинку=Ложь;Описание="Артикул: 2444|Наименование: "Casio E-200"|Цена: 1028.22 руб.|Дополнительные характеристики:|Цвет: Синий|Тип ремешка: Кожанный";Картинка="23482349827348923984...";

Тип="Картинка";ID-альбома=102355;ID-картинки=;ПерегружатьКартинку=Истина;Описание="Артикул: 4556|Наименование: "Nokia 1100"|Цена: 208.00 руб.|Дополнительные характеристики:|Цвет: Черный|Память: 128 мб|Экран: Цветной|Тип связи: GSM";Картинка="93694232442323423426..."; // картинки в альбоме еще нет

Тип="Картинка";ID-альбома=102333;ID-картинки=358612;ПерегружатьКартинку=Ложь;Описание="Артикул: Т2331|Наименование: "Asus N50"|Цена: 10220.00 руб.|Дополнительные характеристики:|Цвет: Черный|Жесткий диск: 120 Гб";Картинка="99876221666799875244...";

Пример ответов:

ID-альбома=102355

ID-картинки=358612

ID-картинки=861423

Ошибка="04. Отсутствует альбом для загрузки картинки!"

Ошибка="05. Сервер не создает картинку!"