Перейти к содержимому


Загрузка изображения на ipic.su:
Фотография

[iPic] API


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Джолька

Джолька

    Папка Панда

  • Император
  • 14 155 сообщений
  • Регистрация: 29.08.2008
  • Пол (sex):Мужчина (man)
  • Город (city):Москва теперь =)
  • Наставник в AO:Не выбран

Награды

              

Отправлено 15 Октябрь 2010 - 12:22

На данный момент API существует в зачаточном состоянии, так как идет разработка движка версии 2.0, но уже сейчас вы можете скопировать код загрузки изображений для вашего сайта.

На 15.10.2010 код загрузчика выглядит так:
<!-- Сервис iPic.su предоставляет возможность быстрого, бесплатного и удобного размещения изображений в сети Интернет. Никаких банеров, никаких требований зарегистрироваться для получения полноценного функционала. Удобный Windows клиент для загрузки любого числа изображений. -->
<!-- Разместите данный код у себя на сайте и ваши посетители смогут быстро и удобно публиковать свои изображения в сеть через фотохостинг www.ipic.su -->
<!-- Скрипт проверки правильности ввода типа изображения. Если Вы не хотите, чтобы на вашем сайте использовались внешние скрипты, тогда уберите данную строчку.
Но в целях снижения нагрузки на сервер www.ipic.su, просим Вас по возможности оставить данный скрипт или скачать его и, проверив, разместить у себя на сервере. На сервере также производится проверка типа загруженного файла.
 -->
<script type="text/javascript" src="http://ipic.su/javascript/functions.js" language="javascript"></script>
<!-- Код ниже должен быть размещен на необходимой Вам странице. Если не знаете что за что отвечает - лучше не меняйте =)  -->
<div title="Выберите изображение в формате jpg | gif | png">
    <form target="_blank" action="http://ipic.su/index.php" method="post" enctype="multipart/form-data" >
        Загрузка изображения на <a href="http://ipic.su">ipic.su</a>: 
        <input name="action" value="loadimg" type="hidden" />
        <input type="hidden" value="85" name="quality" />
        <input type="file" size="10" style="font-size: 8pt;" name="image"  accept="image/*" onchange="checkforimg(this)"/>
        <input style="font-size: 8pt;" value="Загрузить" type="submit" />
    </form>
</div>
<!-- (c) www.ipic.su - быстрый и удобный фотохостинг   -->
<!-- КОНЕЦ ФОРМЫ ЗАГРУЗКИ НА IPIC.SU -->

Как можно понять, основные моменты API довольно просты.

Если вы хотите отослать изображение на сайт в Post-запросе, то следует указывать target=http://ipic.su/index.php
А также в запросе указать следующие переменные:
hidden: action="loadimg" // тип действия - загрузка изображения
hidden: quality="85"// качество JPEG [0..100], оно же и для PNG (в png качество от 0 до 9)
file: image="c:\pic.png" // собственно само поле выбора изображения, следует отсылать файлы меньше 5Мб следующих форматов: JPG, PNG, GIF

Также можно указать описание и параметры изменения размеров изображения:
text: name="Картинка" // название изображения, будет отображаться на странице изображения, максимум 254 символа
textarea: desc="Сделал сегодня скрин в игре" // описание изображения, максимум 254 символа
checkbox: crop=true // Уменьшить ли изображение?
text: cropselect="800" // Размер наибольшей стороны изображения на выходе

Жирным выделен тип поля, подчеркнуты имена полей, курсивом значение


После отправки POST-запроса (по кнопке submit), происходит передача параметров на ipic.su и открытие страницы загруженного изображения. Если вы хотите получить просто имя конечного файла, то отправляйте данные своей формы на http://ipic.su/api/index.php (сюда же отправляет запрос и клиент iPic ShellClient). Вы получите или сообщение об ошибке или имя файла. Примерно такое: Aion0236.1287132949.jpg

Чтобы получить ссылку на изображение, добавьте к полученному имени файла адрес http://ipic.su/img/fs/ ( итого http://ipic.su/img/f....1287132949.jpg)

Чтобы получить превью, добавьте адрес http://ipic.su/img/tn/

Для получения ссылки на изображение, добавьте код http://ipic.su/?page=img&pic=

В API 2.0 формат ответов сервера будет изменен, примерно на такой ( | - разделитель вариантов ответа):
OK | ERROR:Недопустимый формат файла // удалось ли загрузить файл или произошли какая-то ошибка, текст ошибки будет выдаваться после слова ERROR:
imagename // имя картинки
SITE // имя сайта, в будущем планируется система распределенных серверов, возможно при загрузке на ipic.su будет перенаправление файла к s1.ipic.su, s2.ipi.su и тд
pathFS // путь к полному изображению (на каждом сервере может быть свой)
pathTN // путь к превью
ShortLink // адрес короткой ссылки на изображение формата http://ipic.su/xxxx

Плюс будет режим simple, когда сервер просто вернет адрес на полное изображение одной строкой.

Собственно уже согласно этим данным можно попробовать написать свой клиент, быть может он будет лучше нашего.

Помните, что время работы скрипта и размер изображений жестко заданы на сервере, если вы попытаетесь обмануть систему и послать огромный файл, то сервер сбросит соединение. При частом нарушении этого правила, доступ вашему адресу к серверу будет запрещен. Плюс скорее всего будет генерация кодов доступа для клиентов. То есть вы получите уникальный код и по нему будет осуществляться обработка ваших изображений. Если ключ не получен - сервер сбросит соединение.

Рекомендуем разработчикам клиента производить обработку изображений средствами клиента, дабы не загружать работой наш сервер. Спасибо.

Maria
You've gotta see her
Go insane and out of your mind © Blondie - Maria

[PW] Оборотень 100+. Основатель гильдии Insane и Faith.
[Aion.Ru] Клерик, 54+, Легат гильдии Insane

Гильдия это не всегда только друзья, гильдия это коллектив. Не переносите личные конфликты в масштабы гильдии. Если есть ради чего/кого остаться, то попробуйте остаться. Играйте в свое удовольствие, не позволяйте обидам лишать вас удовольствия игры в гильдии.

В нашей гильдии в случае конфликта кто ушел из ги, тот и виноват. Учитесь уживаться друг с другом.

Все фигня, главное, чтобы человек был хороший (ц) Джолли


#2 Джолька

Джолька

    Папка Панда

  • Император
  • 14 155 сообщений
  • Регистрация: 29.08.2008
  • Пол (sex):Мужчина (man)
  • Город (city):Москва теперь =)
  • Наставник в AO:Не выбран

Награды

              

Отправлено 26 Октябрь 2010 - 11:28

Вставлена искусственная задержка на 0.5 секунды в скрипте. Пока временная мера, думаю на производительности особо это не скажется.

Maria
You've gotta see her
Go insane and out of your mind © Blondie - Maria

[PW] Оборотень 100+. Основатель гильдии Insane и Faith.
[Aion.Ru] Клерик, 54+, Легат гильдии Insane

Гильдия это не всегда только друзья, гильдия это коллектив. Не переносите личные конфликты в масштабы гильдии. Если есть ради чего/кого остаться, то попробуйте остаться. Играйте в свое удовольствие, не позволяйте обидам лишать вас удовольствия игры в гильдии.

В нашей гильдии в случае конфликта кто ушел из ги, тот и виноват. Учитесь уживаться друг с другом.

Все фигня, главное, чтобы человек был хороший (ц) Джолли





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей

Яндекс.Метрика
Наши кнопки

Гильдийный счет (Яндекс.Деньги) 41001343732038

Огромное спасибо компании ЗЕНОН www.zenon.ru за отличный хостинг!

Любая перепечатка материалов форума insane.su - только с разрешения администрации или самих авторов.
В онлайн-издания перепечатка разрешена при указании ссылки на оригинал.