CloudConvert API не позволяет загружать файл с Java - PullRequest
0 голосов
/ 23 января 2020

Я хочу загрузить файл, как описано здесь:

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, я получаю «законченный» статусный ответ, и мое изображение загружено правильно. Этого никогда не происходит, когда я делаю это программно, он возвращает ответы со статусом «ожидания», и я не знаю почему.

Кто-нибудь знает, что я делаю неправильно?

...