안녕하세요,
아래 Discourse API를 통해 Java 코드로 이미지를 업로드하려고 시도하고 있습니다:
https://discourse.example.com/uploads.json
Body에 JSON을 전달하는 방식입니다:
{
“type” : “avatar”,
“user_id”: 1,
“synchronous”: true,
“file”: “Binary String”
}
하지만 응답으로 아래 결과를 받고 있습니다:
{
“failed”: “FAILED”,
“message”: “undefined method `tempfile’ for #String:0x000055fc2e0a01d8”
}
어디서 잘못하고 있는 건가요?
도와주세요.
dhanya
(Dhanyamol K V)
2
같은 문제를 겪고 있습니다. @Saurabh_Khandelwal 해답을 찾으실 수 있다면, 제게 답변해 주세요.
blake
(Blake Erickson)
3
file 파라미터는 files[]로 지정해야 합니다. Postman을 사용한 예시는 아래 응답을 참고하세요:
dhanya
(Dhanyamol K V)
4
이것이 내 샘플 데이터입니다.
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의 연동을 시도하고 있습니다.
jwulf
(Josh Wulf)
5
이것을 성공적으로 실행해 보셨나요? Node.js로 온갖 조합을 시도해 봤지만 계속 실패하고 있습니다.
422 Unprocessable Entity 오류가 발생합니다.
Discourse 문서에는 요청의 content-type이 application/json이라고 나와 있습니다.
이 게시물의 Postman 예제는 form-data를 사용하며, Discourse 웹 UI에서 편집기를 관찰해 보면 멀티파트(multi-part) POST 요청을 사용하고 있습니다.
Ruby 클라이언트 없이 API를 통해 이 작업을 수행하는 방법을 아는 분이 계신가요?
여전히 작동하지 않는 것 같습니다.
바이너리로 이미지를 업로드하려고 할 때 발생하는 오류입니다.
Unprocessable Entity - {\"failed\":\"FAILED\",\"message\":\"undefined method `tempfile' for an instance of String\"}