Загрузка фото по ссылке InstantCMS JSON API

InstantCMS 2.X

InstantCMS JSON API

#1 22 сентября 2024 в 08:04

sig, token, данные админа всё получаю, сессию передаю, текстовые поля передаются и публикуются на сайте всё работает
но вот картинку передать пока что не получается,
метод images.upload запускаю, но у меня картинка это ссылка — типа site.ru/test.jpg
вот как именно ссылку вставить в запрос метода images.upload? передаю через Body, fromdata


пока что такая ошибка :
«error»: { 
«error_code»: 100, 
«error_msg»: «Файл не был загружен», 
«request_params»: [ 
]

#2 22 сентября 2024 в 09:32

Никак. Нужно писать другой метод для загрузки по ссылке. Или этот доделывать.

#3 22 сентября 2024 в 10:53

Нужно писать другой метод для загрузки по ссылке. Или этот доделывать.

Lora

подскажите в каком направлении копать или стоимость если это возможно сделать, спасибо

#4 22 сентября 2024 в 12:03

Вообще то может и можно). А как вы пишите запрос?

Добавлено спустя 12 минут

Если через curl, то наверное сюда

  1. curl_setopt($curl, CURLOPT_POSTFIELDS, array(
  2. ...
  3. 'file_name' => 'сюда ссылку',
  4.  
  5.  
  6. ...
#5 28 сентября 2024 в 10:25

Изображение

делаю в postman, если ставлю в form-data, ключ myfile тип file и там загружаю файл то всё работает !
но мне нужно что бы ссылку передавать, ставлю ключ myfile тип Text и там ссылку на файл, то конечно не работает, это можно как то обойти ?
, вроде в системе же при публикации есть уже функционал добавления фото по ссылке.

Добавлено спустя 8 часов

Загрузить по ссылке получилось, метод немного изменил, а дальше что бы новость добавить в каком формате прописывать? 

Добавлено спустя 20 часов

на данный момент так - 
1. Загрузить картинку через ссылку методом images.upload — получилось
2. В поле фото, при сохранении записи, передать массив изображений, разбитый по пресетам, от ответа метода images.upload, --  вот это можно более подробно, хотелось бы пример, как прописать этот массив, как он должен выглядеть ? 

Добавлено спустя 5 минут

после метода загрузки я получаю вот такой json
{
    «response»: {
        «count»: 5,
        «items»: {
            «original»: {
                «path»: «000/u1/4/e/6cf6e07c.jpg»,
                «url»: «site.ru/upload/000/u1/4/e/6cf6e07c.jpg»
            },
            «big»: {
                «path»: «000/u1/8/a/4c5e4bf2.jpg»,
                «url»: «site.ru/upload/000/u1/8/a/4c5e4bf2.jpg»
            },
            «normal»: {
                «path»: «000/u1/4/0/4023e024.jpg»,
                «url»: «site.ru/upload/000/u1/4/0/4023e024.jpg»
            },
            «micro»: {
                «path»: «000/u1/f/5/f52156b7.jpg»,
                «url»: «site.ru/upload/000/u1/f/5/f52156b7.jpg»
            },
            «small»: {
                «path»: «000/u1/f/4/f42efa43.jpg»,
                «url»: «site.ru/upload/000/u1/f/4/f42efa43.jpg»
            }
        },
        «host»: «site.ru/upload/»
    }
}

в како виде его передать в метод content.add_item.news ?

#6 30 сентября 2024 в 05:33

не кто не подскажет ?
или может кто подскажет - можно как то посмотреть отправляемый через curl post запрос (который отправляется при добавлении новости на самом сайте )? может там можно увидеть как формируется поле photo — в каком формате его отравлять при сохранении записи.

#7 1 октября 2024 в 05:52

в метод content.add_item.news 
в  поле photo я передаю такую конструкцию полученную из метода  images.upload - 
{«big»:{«path»:«000\/u1\/f\/1\/33636348.jpg»,«url»:«https:\/\/site.ru\/upload\/000\/u1\/f\/1\/33636348.jpg»},«normal»:{«path»:«000\/u1\/4\/6\/4625352f.jpg»,«url»:«https:\/\/site.ru\/upload\/000\/u1\/4\/6\/4625352f.jpg»}}
но метод отрабатывает всё равно с ошибкой, 
{
    «error»: {
        «error_code»: 100,
        «error_msg»: «Один из необходимых параметров был не передан или неверен»,
        «request_params»: {
            «photo»: «Заполните поле»
        }
    }
}

подскажите как правильно передать? а то уже 4 дня всяко разно пробую не получается((( спасибо

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

Похожие темы

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.