На нашем сервисе также существует API для загрузки изображений.
Сервис в настоящее время поддерживает форматы JPEG, JPG, GIF, PNG размером до 10 мегабайт.
API позволяет загружать изображения, как для гостей, так и для зарегистрированных пользователей. Работа с API осуществляется при помощи отправки HTTP-запросов по адресу:
https://api.imageban.ru/v1
Сервер отвечает в формате JSON.
Для доступа к API вам необходимо получить ключи CLIENT_ID и SECRET_KEY. Чтобы получить данные ключи перейдите в ваш профиль на сайте
(Скриншот) Пример:
CLIENT_ID - ключ для доступа к API. Позволяет загружать изображения в режиме незарегистрированного пользователя.
SECRET_KEY - ключ для доступа к API с возможностью загрузки изображений в ваш аккаунт.
(не публикуйте ваш секретный ключ)
Авторизация:
Для авторизации доступа к API как гость необходимо отправить заголовок:
Authorization TOKEN {CLIENT_ID}
Для авторизации доступа к API как пользователь необходимо отправить заголовок:
Authorization Bearer {SECRET_KEY}
Параметр | Необходимость | Описание |
---|---|---|
url | Обязательно | URL изображения |
Параметр | Необходимость | Описание |
---|---|---|
image | Обязательно | Двоичный файл или данные в base64 |
name | Опционально | Имя файла |
album | Опционально | ID альбома в который загружается изображение |
{ "data": [ { "id": "JTXBeN4", "date": "2022.07.13", "name": "8b2313babd49d05ff36b8165845fc615.jpeg", "server": "i5.imageban.ru", "views": "0", "description": "", "img_name": "logo.png", "favorite": false, "size": "355593", "resolution": "2000x3234", "link": "https://i5.imageban.ru/out/2022/07/13/8b2313babd49d05ff36b8165845fc615.jpeg", "short_link": "http://ibn.im/i/JTXBeN4" } ], "success": true, "status": 200 }
Возвращаемые данные:
Ключ | Формат | Описание |
---|---|---|
id | string | id изображения |
date | string | Дата загрузки |
name | string | Имя загруженного файла на сервер |
server | string | Имя сервера где расположено загруженное изображение |
views | integer | Количество просмотров изображения |
description | string | Описание к изображению (комментарий) |
img_name | string | Оригинальное имя файла |
favorite | boolean | Указывает добавлено ли изображение в избранное |
size | integer | Размер изображения в байтах |
resolution | string | Разрешение изображения |
link | string | Прямая ссылка на изображение |
short_link | string | Короткая ссылка на страницу с изображением |
delete_hash | string | Хэш для удаления изображения загруженным неавторизованным пользователем |
В случае ошибки вы получите ответ в формате JSON:
{ "error":{ "code":"105", "message":"Invalid secret key" } }
Возвращаемые данные:
Ключ | Описание |
---|---|
code | Код ответа |
message | Текст ошибки |
Возвращаемые ошибки:
Код ошибки | Текст ошибки | Описание |
---|---|---|
100 | Invalid client key | Неверный Client Key |
101 | Image is larger | Размер файла превышает максимально допустимый размер |
102 | No image data | Нет данных изображения |
103 | Invalid image type | Файл не является изображением |
104 | Image failed to upload | Ошибка загрузки изображения |
105 | Invalid secret key | Неверный Secret key |
106 | Wrong URL | Неверный URL изображения |
107 | File reception error | Ошибка при загрузки файла с URL |
108 | Limit of uploaded images from your IP is exceeded for guest | Превышен суточный лимит загрузок для IP адреса |
109 | Exceeded the daily limit of uploaded images for your account | Превышен суточный лимит загрузок для учетной записи |
110 | No auth data | Нет данных для авторизации |
Пример #1 на PHP, загрузка изображения с использованием base64 (server.php):
<?php
$filename = $_FILES['img']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$client_key="{CLIENT_ID}";
$pvars = array('name' => 'имя_файла.jpg', 'image' => base64_encode($data));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
HTML форма для загрузки:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="http://_ВАШ_ХОСТ_/server.php" enctype="multipart/form-data" method="post">
<p><input type="file" name="img">
<input type="submit" value="Отправить"></p>
</form>
</body>
</html>
Пример #2 на PHP, загрузка файла изображения посредством cURL:
<?php
$file = realpath('/tmp/server.png');
$client_key="{CLIENT_ID}";
$pvars = array('name' => 'имя_файла.png', 'image' => '@'.$file);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
Пример #3 на PHP, загрузка изображения c URL:
<?php
$client_key="{CLIENT_ID}";
$pvars = array('url' => 'https://imageban.ru/template/img/logo.png');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
Пример #4 загрузка на HTML + JavaScript:
<!DOCTYPE html>
<meta charset="utf8">
<title>Uploader</title>
<div>Переместите<br><button onclick="document.querySelector('input').click()">Или выберите файл</button></div>
<input style="visibility: collapse; width: 0px;" type="file" onchange="upload(this.files[0])">
<script>
window.ondragover = function(e) {e.preventDefault()}
window.ondrop = function(e) {e.preventDefault(); upload(e.dataTransfer.files[0]); }
function upload(file) {
if (!file || !file.type.match(/image.*/)) return;
document.body.className = "uploading";
var fd = new FormData();
fd.append("image", file);
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://api.imageban.ru/v1");
xhr.onload = function() {
document.querySelector("#link").href = JSON.parse(xhr.responseText).data.link;
document.body.className = "uploaded";
}
xhr.setRequestHeader('Authorization', 'TOKEN {CLIENT_ID}');
xhr.send(fd);
}
</script>
<style>
body {text-align: center; padding-top: 100px;}
div { border: 1px solid black; text-align: center; line-height: 200px; width: 300px; margin: auto; font-size: 40px; display: inline-block;}
#link, p , div {display: none}
div {display: inline-block;}
.uploading div {display: none}
.uploaded div {display: none}
.uploading p {display: inline}
.uploaded #link {display: inline}
em {position: absolute; bottom: 0; right: 0}
</style>
<p>Загрузка...</p>
<a id="link">Ваша ссылка</a>
Для использования API существуют ограничения для загрузок изображений в сутки:
Спамерский софт скачать letsextract.com | Интеграция сайта crm sitniks.ua | Pin Up Bet Aviator Voe alto com o Pin Up Bet Aviator – descubra um jogo cheio de adrenalina e prêmios. www.grapeesg.com.br |