Загрузить файл через REST API, IPBoard

Я пытаюсь загрузить файлы через IPBoards REST Api, но на самом деле не знаю, как форматировать файлы.

Вот как это выглядит сейчас, но только получает ошибку:

{
"errorCode": "1L296\/B",
"errorMessage": "NO_FILES"}

Код:

        $post = array(
'category' => 1,
'author' => 1,
'title' => 'Test title',
'description' => 'test description',
'files' => "{'test.txt':'".file_get_contents('/home/test/test.txt')."'}",
);
$target_url = 'https://example.com/api/downloads/files';
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 86400);
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD,$apikey.":");
$result = curl_exec ($ch);
curl_close ($ch);

Вот документация API: API документ

0

Решение

Попробуйте использовать метод http_build_query и слегка измените массив $ post:

‘files’ => array ($ filename => $ contents),

И изменить на:

curl_setopt ($ ch, CURLOPT_POSTFIELDS, http_build_query ($ post));

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]