Отправить PDF файл в API с помощью PHP CURL Получил файл 0 байт после загрузки - PullRequest
0 голосов
/ 17 января 2019

Я отправляю файлы типа PDF и Json на сервер API, но для файла PDF после загрузки, например поврежденного, размер файла составляет 0 байт, и его нельзя открыть.

Я пытаюсь отправить сообщение с PHP CURL, где код генерируется из Почтальона, но если я отправляю с POST почтальона, файл в порядке (не повреждает, может открыть)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://Url to API",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => "------WebKitFormBoundary7asdzxcsqljas1\r\nContent-Disposition: form-data; name=\"file\"; filename=\"C:\\Users\\file.pdf\"\r\nContent-Type: application/pdf\r\n\r\n\r\n------WebKitFormBoundary7asdzxcsqljas1\r\nContent-Disposition: form-data; name=\"formJson\"\r\n\r\n{ \"Json\":\n{\n\"key1\" : \"key1\",\n\"key2\" : \"key2\",\n}\n]\n}\n}\r\n------WebKitFormBoundary7asdzxcsqljas1--",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer ...",
        "Content-Type: multipart/form-data",
        "cache-control: no-cache",
        "content-type: multipart/form-data; boundary=----WebKitFormBoundary7asdzxcsqljas1"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}

что я не так, чтобы найти имя файла PDF или что-то упустил?

...