Я хочу загрузить файл, как описано здесь:
https://cloudconvert.com/api/v2/import#import -upload-tasks
И для этого я создаю составную сущность, которая Я отправляю внутри моего запроса HTTP. Это мой код:
public String upload (File file) throws IOException {
HttpClient httpClient = HttpClientBuilder.create().build();
String boundary = Long.toHexString(System.currentTimeMillis());
HttpEntity entity = MultipartEntityBuilder
.create()
.setBoundary(boundary)
.addBinaryBody("file", file, ContentType.create("image/jpeg"), "littlecont.jpg")
.build();
HttpPost httpPost = new HttpPost(ConfigGlobal.getUrlUpload().toString());
httpPost.setEntity(entity);
httpPost.setHeader("Authorization", "Bearer " + ConfigGlobal.getKey());
httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.getMimeType() + ";boundary=" + boundary);
HttpResponse response = httpClient.execute(httpPost);
HttpEntity result = response.getEntity();
return IOUtils.toString(result.getContent(), StandardCharsets.UTF_8);
}
Мой файл существует, и моя аутентификация работает с другими сервисами CloudConvert, такими как конвертирование файлов. Тем не менее, по какой-то причине, даже несмотря на то, что я получаю ожидаемый ответ после выполнения этого кода, а именно:
{"data":{"id":"29a5302a-f4b2-4082-83b4-c77ee8f47420","job_id":null,"status":"waiting","credits":null,"code":null,"message":"Waiting for file upload","percent":100,"operation":"import\/upload","result":{"form":{"url":"https:\/\/storage.de.cloud.ovh.net\/v1\/AUTH_b2cffe8f45324c2bba39e8db1aedb58f\/cloudconvert-files\/29a5302a-f4b2-4082-83b4-c77ee8f47420\/","parameters":{"expires":1579820410,"max_file_count":1,"max_file_size":10000000000,"redirect":"https:\/\/api.cloudconvert.com\/v2\/upload\/redirect\/29a5302a-f4b2-4082-83b4-c77ee8f47420","signature":"546984a8937dc87e07a07df036d62dd3dfc4fdac"}}},"created_at":"2020-01-23T17:00:10+00:00","started_at":null,"ended_at":null,"retry_of_task_id":null,"copy_of_task_id":null,"user_id":40061079,"priority":-10,"host_name":null,"storage":"ovh-lim","depends_on_task_ids":[],"links":{"self":"https:\/\/api.cloudconvert.com\/v2\/tasks\/29a5302a-f4b2-4082-83b4-c77ee8f47420"}}}
, он никогда не завершает загрузку файла. Когда я загружаю из компоновщика заданий на странице CloudConvert, после того, как через несколько секунд сделаю второе ходатайство GET до https://api.cloudconvert.com/v2/tasks/29a5302a-f4b2-4082-83b4-c77ee8f47420, я получаю «законченный» статусный ответ, и мое изображение загружено правильно. Этого никогда не происходит, когда я делаю это программно, он возвращает ответы со статусом «ожидания», и я не знаю почему.
Кто-нибудь знает, что я делаю неправильно?