Я пытался отправить файл (изображение) с помощью Java и Springboot. Недавно я обнаружил, что в Postman есть раздел кода, который может генерировать код Java, и подумал, что его можно использовать для отправки файла (с помощью метода post), однако я получаю сообщение об ошибке вместо успешного, проверенного на почтальоне с такими же параметрами.
Вот как выглядит ответ на почтальоне:
{
"status": "success",
"message": "Media uploaded successfully.",
"data": {
"mediaId": "429f614c-e6d4-41a2-87fe-1209d7f25c6b"
}
}
И код для этого следующий (есть два кода, один с Java -OkHttp, и другой с Java -Unirest, по какой-то причине оба не работают .. ниже код с Unirest):
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://waapi.pepipost.com/api/v2/media/upload/")
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJuZXRjb3Jlc2FsZXNleHAiLCJleHAiOjI0MjUxMDI1MjZ9.ljC4Tvgz031i6DsKr2ILgCJsc9C_hxdo2Kw8iZp9tsVcCaKbIOXaFoXmpU7Yo7ob4P6fBtNtdNBQv_NSMq_Q8w")
.header("Content-Type", "image/jpeg")
.field("file", new File("/C:/Users/Slomil/Desktop/WABot/menu.jpg"))
.asString();
При запуске я получаю сообщение
{"status":"failure","error":{"code":"8006","message":"Parameter file is required. Please upload a valid file."}}
для которого я подумал, что не должен получать .. потому что есть файл как поле, я полагаю? Я не уверен, что имеется в виду под действительностью ... поскольку я могу открыть файл, это обычное изображение jpg размером 82,3 кб .. Пока знаю только, что ответное сообщение противоположное, чем в Postman :)
Кто-нибудь знаете, почему это? Надежен ли этот сгенерированный код для использования (вместо использования, например, CloseableHttpClient и т.п.)?
Большое спасибо ..