php - php中的cloundconvert api v2 return 任务字段是必需的
问题描述
我们正在尝试更新到 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))
因此,将其从一种编码转换为另一种似乎可以解决问题。
推荐阅读
- vue.js - Vuejs-路由回上一个组件后停止清除数据属性
- python - Python:从 Chatbot 的另一个函数的结果调用函数
- java - 使用预建凭证上传到 Amazon S3
- azure - Using CosmoDb Table API with Azure Table Services and .NET Core
- python - Python函数和函数调用问题
- shell - Shell 脚本问题 | ${-#*i} 在配置文件中的含义
- c++ - 为什么在 C++ 中右值递增是非法的?
- python - python27 和 python3 不被识别为内部或外部命令、可运行程序或批处理文件
- javascript - 在 HIGHCHARTS 中动态设置工具提示
- java - 未找到请求操作的编解码器:[varchar <-> com.thelastpickle.tlpstress.PartitionKey]