Загрузка файла из HTML формы через PHP через FileMaker Data API - PullRequest
0 голосов
/ 17 марта 2020

У меня больше нет идей, я пытаюсь, как навсегда, загрузить файл из формы HTML в FileMaker через их API данных.

Используя Postman, он работает как шарм, нет проблем. Но я не могу его запустить и запустить в PHP.

Используя код Почтальона в качестве основы, я пробовал разные способы передать файл, но ничего не работает:

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://myserver.com/fmi/data/vLatest/databases/myProject/layouts/myLaout/records/".$recordId."/containers/myDatabase/1",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array('upload'=> new CURLFILE($_FILES['upload']['tmp_name'])),
  CURLOPT_HTTPHEADER => array(
    "Content-Type: multipart/form-data",
    "Authorization: Bearer ".$token,
    "Accept: */*",
    "Cache-Control: no-cache",
    "Host: myserver.com",
    "Accept-Encoding: gzip, deflate, br",
    "Content-Length: ".$fileSize,
    "Connection: keep-alive"
  ),
));

$response = curl_exec($curl);
curl_close($curl);

Вышесказанное заканчивается:

response: {"messages":[{"message":"Upload payload must contain a part named 'upload'.","code":"960"}],"response":{}}

Попытка передачи локального файла только для тестирования: CURLFILE('/Users/s_brink/temp/3.pdf') заканчивается без ответа и т. Д. И т. Д.

Может кто-нибудь пожалуйста, помогите мне, как запустить это?

...