используя PHP CURLFile для загрузки Dropbox - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь использовать 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, который я использую, был удален .....

...