Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


manual:components:api:methods:images_upload

images.upload

Загружает изображение. Принцип загрузки стандартный, как через форму на сайте. Например, через CURL PHP можно делать вот так:

curl_setopt($ch, CURLOPT_POSTFIELDS, ['attach_name' => new CurlFile($path_to_file)]);

Метод требует авторизации пользователя.

Параметры

Название Описание
name Имя параметра запроса, в котором будет изображение. Параметр обязательный.
presets Пресеты, перечисленные через запятую, в которые нужно конвертировать загружаемое изображение. Если не указано, будет конвертировано во все доступные пресеты. Список пресетов можно посмотреть в методе images.get_presets.
file_name Имя, которое хотим присвоить загружаемому файлу.

Content-Type запроса должен быть application/x-www-form-urlencoded.

Пример на PHP

// Предполагается, что после авторизации вы где-то запомнили эту куку, например в БД
$cookie = ['Cookie: ' . $api_session_name . '=' . $api_session_id]
 
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Cookie: ' . implode('; ', $cookie)]);
curl_setopt($curl, CURLOPT_URL, 'https://instantcms_site.ru/api/method/images.upload');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
'api_key' => 'API_KEY',
'name' => 'attach_name',
'presets' => 'normal',
'file_name' => 'My fuze file',
'attach_name' => new CURLFile('Полный путь от корня файловой системы')
));
 
$data = json_decode(curl_exec($curl), true);
 
curl_close($curl);
 
if ($data === false) {
    $error = json_last_error_msg();
}

Также в запросе должны быть и бинарные данные самого файла.

Результат

После успешного выполнения возвращает объект, содержащий массив объектов путей файлов на диске в поле items, количество созданных файлов (равно количеству переданных пресетов) в ячейке counts и абсолютный начальный URL, для изображений в ячейке host.

Коды ошибок

В ходе выполнения могут произойти общие ошибки и ошибки, связанные с загрузкой файла, его типом и размером.


Назад к описанию методов API

manual/components/api/methods/images_upload.txt · Последнее изменение: 27.08.2019 12:36 — fuze