Javascript 无法将POST请求中收到的文件上载到PHP中的其他API
我正在使用AngularJS将PDF文件上载到服务器上的upload.php。upload.php通过使用curl提供的API将Javascript 无法将POST请求中收到的文件上载到PHP中的其他API,javascript,php,curl,Javascript,Php,Curl,我正在使用AngularJS将PDF文件上载到服务器上的upload.php。upload.php通过使用curl提供的API将$\u文件receive-in-POST请求进一步上传到另一台服务器 $\u FILES对象包含PDF文件 这是upload.php的一部分,它完成以下工作: $filename = $_FILES['file']['name']; $filedata = $_FILES['file']['tmp_name']; $curl = curl_init();
$\u文件
receive-in-POST请求进一步上传到另一台服务器
$\u FILES
对象包含PDF文件
这是upload.php的一部分,它完成以下工作:
$filename = $_FILES['file']['name'];
$filedata = $_FILES['file']['tmp_name'];
$curl = curl_init();
$payload = json_encode(array(
'file' => "@$filedata", "filename" => $filename));
curl_setopt_array(
$curl,
array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://api.mydmian.in/fileupload',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $payload
)
);
$resp = curl_exec($curl);
如何将$\u文件转换为文件对象,以便将其附加到curl有效负载中?您可以使用
文件获取内容()
检索上载文件的内容,并将其存储在$filedata
中,然后将其附加到$payload
中
$filename = $_FILES['file']['name'];
$filedata = file_get_contents($_FILES['file']['tmp_name']);
$curl = curl_init();
$payload = json_encode(array(
'file' => $filedata, "filename" => $filename));
curl_setopt_array(
$curl,
array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://api.mydmian.in/fileupload',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $payload
)
);
$resp = curl_exec($curl);