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