cloundconvert api v2 in php return 任务字段是必需的
cloundconvert api v2 in php return The tasks field is required
我们正在尝试更新到 cloudconvert api v2,因为 v1 从 2022 年 1 月起不再工作。
我一直在关注他们的代码,甚至使用了他们的在线构建器,这似乎可以工作,但是在服务器上测试时出现以下错误:
这就是代码的样子,与我从他们那里得到的完全相同,只是我用服务器上需要的变量代替了它,而不是对其进行硬编码。
$job = (new Job())
->addTask(
(new Task('import/raw', 'import-my-file'))
->set('file', file_get_contents($f->file_current))
->set('filename', $pinfo_basename)
)
->addTask(
(new Task('convert', 'task-1'))
->set('input_format', $f->file_current_type)
->set('output_format', $f->file_convert_type)
->set('engine', 'poppler')
->set('input', ['import-my-file'])
->set('width', 1920)
->set('quality', 100)
)
->addTask(
(new Task('export/s3', 'export-1'))
->set('input', ["task-1"])
->set('bucket', $this->amazon_s3_media[$mode]["bucket"])
->set('region', $this->amazon_s3_media[$mode]["region"])
->set('access_key_id', $this->amazon_s3_media[$mode]["access"])
->set('secret_access_key', $this->amazon_s3_media[$mode]["secret"])
->set('acl', 'private')
->set('key_prefix', $f->folder_name)
);
$cloudconvert->jobs()->create($job);
我想知道我做了什么不同的事情来解决这个错误,并想知道是否有人能够帮助我解决这个问题。
我找到了解决方案。
为了不抛出错误,我不得不稍微更改一下 file_get_contens,我通过执行以下操作来做到这一点:
$file = rtrim(file_get_contents($f->file_current, FILE_TEXT));
$file = mb_convert_encoding($file, 'UTF-8', mb_detect_encoding($file, 'UTF-8, ISO-8859-1', true));
然后将 $file 放入 ->set('file', $file) 而不是 ->set('file', file_get_contents($f->file_current))
因此将它从一种编码转换为另一种编码似乎可以解决问题。
我们正在尝试更新到 cloudconvert api v2,因为 v1 从 2022 年 1 月起不再工作。
我一直在关注他们的代码,甚至使用了他们的在线构建器,这似乎可以工作,但是在服务器上测试时出现以下错误:
这就是代码的样子,与我从他们那里得到的完全相同,只是我用服务器上需要的变量代替了它,而不是对其进行硬编码。
$job = (new Job())
->addTask(
(new Task('import/raw', 'import-my-file'))
->set('file', file_get_contents($f->file_current))
->set('filename', $pinfo_basename)
)
->addTask(
(new Task('convert', 'task-1'))
->set('input_format', $f->file_current_type)
->set('output_format', $f->file_convert_type)
->set('engine', 'poppler')
->set('input', ['import-my-file'])
->set('width', 1920)
->set('quality', 100)
)
->addTask(
(new Task('export/s3', 'export-1'))
->set('input', ["task-1"])
->set('bucket', $this->amazon_s3_media[$mode]["bucket"])
->set('region', $this->amazon_s3_media[$mode]["region"])
->set('access_key_id', $this->amazon_s3_media[$mode]["access"])
->set('secret_access_key', $this->amazon_s3_media[$mode]["secret"])
->set('acl', 'private')
->set('key_prefix', $f->folder_name)
);
$cloudconvert->jobs()->create($job);
我想知道我做了什么不同的事情来解决这个错误,并想知道是否有人能够帮助我解决这个问题。
我找到了解决方案。 为了不抛出错误,我不得不稍微更改一下 file_get_contens,我通过执行以下操作来做到这一点:
$file = rtrim(file_get_contents($f->file_current, FILE_TEXT)); $file = mb_convert_encoding($file, 'UTF-8', mb_detect_encoding($file, 'UTF-8, ISO-8859-1', true));
然后将 $file 放入 ->set('file', $file) 而不是 ->set('file', file_get_contents($f->file_current))
因此将它从一种编码转换为另一种编码似乎可以解决问题。