Я пытаюсь загрузить файл на onehub.com, используя там API. Документация здесь
Я закодировал его в curl, но не смог загрузить изображение
Код
fileUpload("/folders/123421/files",$_FILES['upload'], $data);
function fileUpload($url,$localFile,$token)
{
$size = $localFile['size'];
$boundary = hash('sha256', uniqid('', true));
$headers = [
'Authorization: Bearer ' . $token,
'content-type: multipart/form-data; boundary='.$boundary,
'content-length: '.$size
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://ws-api.onehub.com".$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$args['file'] = new CurlFile($localFile['tmp_name'], $localFile['type'], $localFile['name']);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$result = curl_exec($ch);
return $result;
}
Ошибка, которую я получаю: couldn't open file "/tmp/phpItjbyg"
, если я изменю эту строку
$args['file'] = new CurlFile($localFile['tmp_name'], $localFile['type'], $localFile['name']);
на
$args['file'] = new CurlFile($localFile['name'], $localFile['type'], $localFile['name']);
, она не возвращает ошибок, но файл не загружен.