Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
上传后使用PHP CURL将PDF文件发送到API,文件大小为0字节_Php_Php Curl - Fatal编程技术网

上传后使用PHP CURL将PDF文件发送到API,文件大小为0字节

上传后使用PHP CURL将PDF文件发送到API,文件大小为0字节,php,php-curl,Php,Php Curl,我正在将文件类型PDF和Json发送到API服务器,但对于上传后的PDF文件(如损坏),文件大小为0字节,无法打开 我尝试使用PHP CURL发送post,其中代码由Postman生成,但是如果使用Postman post发送,则该文件很好(没有损坏,可以打开) 您在哪里运行代码?在服务器上?或者你的本地电脑?另外,你能在这里尝试一下解决方案吗:我从本地运行代码将文件保存到服务器,我对postman也这样做(从本地成功上传pdf)。我尝试过这个解决方案,但不适用于我,仍然上载了0字节的文件 &l

我正在将文件类型PDF和Json发送到API服务器,但对于上传后的PDF文件(如损坏),文件大小为0字节,无法打开

我尝试使用PHP CURL发送post,其中代码由Postman生成,但是如果使用Postman post发送,则该文件很好(没有损坏,可以打开)


您在哪里运行代码?在服务器上?或者你的本地电脑?另外,你能在这里尝试一下解决方案吗:我从本地运行代码将文件保存到服务器,我对postman也这样做(从本地成功上传pdf)。我尝试过这个解决方案,但不适用于我,仍然上载了0字节的文件
<?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;
}