我刚开始使用this文档处理API,而且我在上传文件时遇到问题。我没有得到api调用上传文件的回应。我尝试过多种文件类型但没有成功。这是我的API调用:
$client = new \ActiveCollab\SDK\Client($token);
try {
$response = $client->post('upload-files',[
[
'test-file.txt',
'text\/plain'
]
]);
echo $response->getBody();
} catch(AppException $e) {
print $e->getMessage() . '<br><br>';
}
根据文档,我应该收到一封包含的回复 文件上传代码,但我没有收到任何回复,甚至没有验证错误。它也没有抛出异常。我对其他任何请求都没有任何问题,所以我不认为它是一个身份验证问题。任何人都可以帮我弄清楚我做错了什么?
答案 0 :(得分:1)
为了上传文件,您应该传递一组文件路径或路径 - MIME类型对作为客户端post
方法的第三个参数:
$response = $client->post('upload-files', [], ['/path/to/file.png']);
$response = $client->post('upload-files', [], ['/path/to/file.png' => 'image/png']);
仅当给定路径上的文件(本例中为/path/to/file.png
)存在且可读时,此方法才有效。
答案 1 :(得分:1)
遇到同样的问题,以及我如何解决它:
来自SDK中的post方法:
if (is_array($file)) {
list($path, $mime_type) = $file;
}
来自php.net的:
In PHP 5, list() assigns the values starting with the right-most parameter.
In PHP 7, list() starts with the left-most parameter.
我使用的是PHP 5.6,所以我换了:
['/path/to/file.png' => 'image/png']
以强>
['image/png' => '/path/to/file.png']
现在按预期工作。