POST数据中的CURLFile对象使我的请求失败

问题描述 投票:0回答:1

我试图通过php中的curl将图像文件发送到API,但是当我尝试向我的请求提供我需要的文件时,当我在其上调用curl_exec时它会继续失败。

我提供给文件的路径是有效的,我在创建它时在CURLFile对象上使用了var_dump,看起来很好。当调用curl_exec时,请求立即失败并返回false。但是,如果我用CURLOPT_POSTFIELDS中的字符串替换CURLFile对象,请求就可以正常工作。

$ch = curl_init('http://localhost/test/test.php');
$curlfile = new CURLFile($path,'image/png','image');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,array('image' => $curlfile));
curl_exec($curl);//Returns false
$ch = curl_init('http://localhost/test/test.php');
$curlfile = new CURLFile($path,'image/png','image');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,array('image' => "somestring"));
curl_exec($curl);//Returns true
php php-curl
1个回答
0
投票

CURLFile构造函数需要我的文件的完整路径,使用realpath()解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.