Я пытаюсь использовать PHP CURLFile для загрузки файла в Dropbox API, но продолжаю получать
path / not_found / ..
Я использую PHP> 7
и фрагмент кода выглядит следующим образом: -
.....
$curl_opts = [CURLOPT_HEADER => false, // exclude header from output
CURLOPT_RETURNTRANSFER => true, // but return!
CURLOPT_SSL_VERIFYPEER => false];
$curl_opts[ CURLOPT_HTTPHEADER ] = [
"Authorization" => "Bearer " . $this->getToken(),
"Content-Type" => "application/octet-stream",
"Dropbox-API-Arg" => json_encode($params)
];
$curl_opts[ CURLOPT_POSTFIELDS ] = ['file' => new CURLFile($_FILES['tmp_name'], null, $_FILES['name']) ];
$curl_opts[ CURLOPT_CUSTOMREQUEST ] = 'POST';
curl_setopt_array($ch, $curl_opts);
...
Как использовать CURLFile для отправки в DropBox файлов / загрузки конечной точки?
данные отправляются следующим образом: -
Array ([42] => [19913] => 1 [64] => [10036] => POST [10015] => Массив
([0] => Объект CURLFile ([имя] => / tmp / phpTra0RG [mime] =>
application / octet-stream [postname] => BAR-TENDER-BIO-FORM.docx))
[10023] => Массив ([0] => Тип содержимого: приложение / поток октетов 1
=> Авторизация: Носитель УДАЛЕНО , [2]
=> Dropbox-API-Arg: {"путь": "/ GCC2020 / 2019-06-17 / zone-8 / азербайджан / fulle / BAR-TENDER-BIO-FORM.docx", "mode": "overwrite", "autorename" ложь "приглушить": правда, "strict_conflict" ложь}
))
Маркер пути и файл кажутся правильными. Может ли CURLFile обрабатывать tmp_name
пути к файлам из $_FILES
??
UPDATE
кажется, что моя ошибка может быть связана с этим вопросом PHP Curls, кажется, хочет добавить маркировку границ из-за того, что я отправил массив. $curl_opts[ CURLOPT_POSTFIELDS ] = ['file' => new CURLFile($_FILES['tmp_name'], null, $_FILES['name']) ];
Честно говоря, я не уверен, как отправить новый CURLFile () без использования '@', так как основанный на PHP, который я использую, был удален .....