Olá a todos,
Estou tentando fazer upload de uma imagem usando a API do Discourse abaixo, por meio de código Java:
https://discourse.example.com/uploads.json
Passando um JSON no corpo:
{
“type” : “avatar”,
“user_id”: 1,
“synchronous”: true,
“file”: “String binária”
}
No entanto, na resposta, estou obtendo o seguinte resultado:
{
“failed”: “FAILED”,
“message”: “método `tempfile’ não definido para #String:0x000055fc2e0a01d8 ”
}
Onde estou cometendo um erro?
Por favor, ajudem-me.
dhanya
(Dhanyamol K V)
Setembro 22, 2020, 4:09pm
2
Estou enfrentando o mesmo problema. @Saurabh_Khandelwal , se você conseguir encontrar uma solução, por favor, me responda.
1 curtida
blake
(Blake Erickson)
Setembro 22, 2020, 4:23pm
3
O parâmetro para file precisa ser chamado files[]. Consulte esta resposta para um exemplo usando o Postman:
Okay I just verified that I got this to work. You just need to add the synchronous: true value to get the id.
[image]
now that we have the id: 17 we can then make one more request:
[image]
dhanya
(Dhanyamol K V)
Setembro 22, 2020, 4:36pm
4
Este é meu conjunto de dados de amostra
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
)
Enviando o arquivo como uma string binária. Obtendo a resposta conforme mostrado abaixo. Isso é Drupal
/uploads.jsonresultou em uma resposta422 Entidade Não Processável: {"failed":"FAILED","message":"método não definido tempfile’ para #\u003cArray:0x00007f0d5c784810\u003e"}
Tentando integração do Drupal com o Discourse.
jwulf
(Josh Wulf)
Dezembro 8, 2020, 7:09am
5
Conseguiu fazer isso funcionar? Tenho tentado todas as combinações possíveis com Node.js e não consigo fazer funcionar.
Estou recebendo um erro 422 Unprocessable Entity.
Na documentação do Discourse , diz que o content-type da solicitação é application/json.
Neste post , o exemplo do Postman usa form-data, e quando observo o compositor na interface web do Discourse, ele usa um envio multipart.
Alguém sabe como fazer isso via API sem usar o cliente Ruby?
CormacW43
(Cormac W.)
Agosto 28, 2024, 11:47am
6
Isso ainda não parece estar funcionando.
Este é o erro que recebo ao tentar carregar uma imagem, em binário.
Unprocessable Entity - {\"failed\":\"FAILED\",\"message\":\"undefined method `tempfile' for an instance of String\"}