Как загрузить изображение с помощью API Discourse

Всем привет,

Я пытаюсь загрузить изображение, используя следующий API Discourse из кода на Java:
https://discourse.example.com/uploads.json
передавая JSON в теле запроса:
{
“type” : “avatar”,
“user_id”: 1,
“synchronous”: true,
“file”: “Двоичная строка”
}

Однако в ответе я получаю следующий результат:

{
“failed”: “FAILED”,
“message”: “неопределенный метод `tempfile’ для #String:0x000055fc2e0a01d8
}

Где я ошибаюсь?
Помогите, пожалуйста.

Сталкиваюсь с той же проблемой. @Saurabh_Khandelwal, если вы найдете решение, пожалуйста, ответьте мне.

Параметр file должен называться files[]. Пример использования Postman смотрите в этом ответе:

Это мои примеры данных
Array
(
[type] => avatar
[user_id] => 3
[synchronous] => 1
[file] => 1101000 1110100 1110100 1110000 1110011 111010 101111 101111 1101011 1101001 1111000 101101 1100100 1100101 1110110 101110 1100001 1110011 1110011 1111001 1110011 1110100 101101 1110101 1100011 101110 1100011 1101111 1101101 101111 1110011 1101001 1110100 1100101 1110011 101111 1100100 1100101 1100110 1100001 1110101 1101100 1110100 101111 1100110 1101001 1101100 1100101 1110011 101111 1110000 1101001 1100011 1110100 1110101 1110010 1100101 1110011 101111 110010 110000 110010 110000 101101 110000 110111 101111 1101011 1101001 1111000 1110100 1100101 1100001 1101101 1011111 1101001 1101101 1100111 110001 101110 1101010 1110000 1100111
)

Отправка файла в виде бинарной строки. Получение ответа, как показано ниже. Это Drupal

/uploads.jsonпривело к ответу422 Unprocessable Entity: {"failed":"FAILED","message":"undefined method tempfile’ for #\u003cArray:0x00007f0d5c784810\u003e"}

Пытаюсь интегрировать Drupal с Discourse.

У вас получилось это запустить? Я перепробовал всевозможные комбинации с Node.js, но ничего не выходит.

Получаю ошибку 422 Unprocessable Entity.

В документации Discourse указано, что тип содержимого (content-type) для запроса — application/json.

В этом посте в примере для Postman используется form-data, а при наблюдении за компрессором в веб-интерфейсе Discourse видно, что отправляется multipart-запрос.

Кто-нибудь знает, как сделать это через API, не используя Ruby-клиент?

Это всё ещё, похоже, не работает.

Вот ошибка, которую я получаю при попытке загрузить изображение в бинарном виде.

Unprocessable Entity - {\"failed\":\"FAILED\",\"message\":\"undefined method `tempfile' for an instance of String\"}