CloudConvert API v2 The tasks field is required
Я пытаюсь настроить API, но при попытке отправить запрос выдает ошибку
Uncaught CloudConvert\Exceptions\HttpClientException: tasks: The tasks field is required.
Мне нужно отправить файл для конвертации со своего компьютера и получить в ответ html. Где моя ошибка? Заранее спасибо!
use \CloudConvert\CloudConvert;
use \CloudConvert\Models\Job;
use \CloudConvert\Models\Task;
$cloudconvert = new CloudConvert([
'api_key' => 'мой ключ',
'sandbox' => false
]);
$job = (new Job())
->addTask(
(new Task('import/upload', 'import-my-file'))
->set('file', fopen($DocumentPath, 'r'))
)
->addTask(
(new Task('convert', 'convert-doc-to-html'))
->set('input_format', 'doc')
->set('output_format', 'html')
->set('engine', 'office')
->set('input', ["import-my-file"])
)
->addTask(
(new Task('export/url', 'export-my-file'))
->set('input', ["convert-doc-to-html"])
->set('inline', false)
->set('archive_multiple_files', false)
);
$cloudconvert->jobs()->create($job);
$uploadTask = $job->getTasks()->whereName('import-my-file')[0];
$cloudconvert->tasks()->upload($uploadTask, fopen($DocumentPath, 'r'), 'myfile.doc');
Ответы (1 шт):
Автор решения: Denis Mak
→ Ссылка
Файл был открыт. Вот решение
/* решение */
$file = rtrim(file_get_contents($file, FILE_TEXT));
$file = mb_convert_encoding($file, 'UTF-8', mb_detect_encoding($file, 'UTF-8, ISO-8859-1', true));
/* решение */
$job = (new Job())
->addTask(
(new Task('import/upload', 'import-my-file'))
->set('file', $file)
)
->addTask(
(new Task('convert', 'convert-'.$file_format.'-to-html'))
->set('input_format', $file_format)
->set('output_format', 'html')
->set('engine', 'office')
->set('input', ["import-my-file"])
)
->addTask(
(new Task('export/url', 'export-my-file'))
->set('input', ['convert-'.$file_format.'-to-html'])
->set('inline', false)
->set('archive_multiple_files', false)
);
$cloudconvert->jobs()->create($job);