Php CURL File post未传递参数

Php CURL File post未传递参数,php,curl,Php,Curl,我试图起诉post QR图像到端点url。如果使用邮递员,值将正确返回。但是如果我尝试使用PHP CURL,参数不会发送错误:qrcodenotpresent 这里是我的HTML表单和PHP: <form id="uploadForm" action="upload.php" method="post"> <div id="targetLayer">No Image</div> <div id="uploadFormLayer"> <inpu

我试图起诉post QR图像到端点url。如果使用邮递员,值将正确返回。但是如果我尝试使用PHP CURL,参数不会发送错误:
qrcodenotpresent

这里是我的HTML表单和PHP:

<form id="uploadForm" action="upload.php" method="post">
<div id="targetLayer">No Image</div>
<div id="uploadFormLayer">
<input name="qrcode" type="file" class="inputFile" /><br/>
<input type="submit" value="Submit" class="btnSubmit" />
</form>
$(document).ready(function (e) {
    $("#uploadForm").on('submit',(function(e) {
        e.preventDefault();
        $.ajax({
            url: "upload.php",
            type: "POST",
            data:  new FormData(this),
            contentType: false,
            cache: false,
            processData:false,
            success: function(data)
            {
            $("#targetLayer").html(data);
            },
            error: function() 
            {
            }           
       });
    }));
});
如果有人对我的问题有任何线索,我真的很感激,我不知道为什么params QRcode没有发送到服务器,因为我对使用CURL非常陌生

我使用的是PHP版本7,我也尝试复制粘贴邮递员生成的代码,但仍然返回相同的错误
QR code not Recent


谢谢

尝试过但得到了相同的响应您不应该自己尝试为这样一个多部分请求组装正文内容,而是让cURL来处理。。这可能是一个安全风险!
if(isset($_POST['qrcode'])){
    $filename = $_POST['qrcode'];
}
if(isset($filename)){ 
    echo $filename;
}
if(is_array($_FILES)) {
if(is_uploaded_file($_FILES['qrcode']['tmp_name'])) {
$sourcePath = $_FILES['qrcode']['tmp_name'];
$targetPath = "images/".$_FILES['qrcode']['name'];
if(move_uploaded_file($sourcePath,$targetPath)) {
    $gambar1 = array('qrcode' => $targetPath);

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

define("API_URL", "http://endpoint/img");
define("MULTIPART_BOUNDARY", "----WebKitFormBoundary7MA4YWxkTrZu0gW");

$api_headers = array(
        "Authorization: Basic ZGVuYTpzaWRhcmVqYTg0",
        "Accept: application/json; esl-api-version=11.10",
        "Content-Type: multipart/form-data; boundary=\"" . MULTIPART_BOUNDARY . "\"",
    );

$postdata = "--" . MULTIPART_BOUNDARY . "\r\n";
$postdata .= "Content-Disposition: form-data; name=\"file\"; filename=\"$targetPath\"\r\n\r\n";
$postdata .= file_get_contents("qr.png");
$postdata .= "\r\n\r\n";
$postdata .= "--" . MULTIPART_BOUNDARY . "\r\n";
$postdata .= "Content-Disposition: form-data; name=\"qrcode\"\r\n\r\n";
$postdata .= json_encode($build);
$postdata .= "\r\n\r\n";
$postdata .= "--" . MULTIPART_BOUNDARY . "--\r\n";

$curl = curl_init(API_URL);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST          , true);
curl_setopt($curl, CURLOPT_POSTFIELDS    , $postdata);
curl_setopt($curl, CURLOPT_HTTPHEADER    , $api_headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_exec($curl);
$response = curl_multi_getcontent($curl);
curl_close($curl);

echo mb_convert_encoding(print_r(json_decode($response, true), true), 'CP932', 'UTF-8');