我正在使用AngularJS将PDF文件上传到我服务器上的upload.php。 upload.php进一步通过使用curl给出的API将POST请求中的$_FILES
接收上传到另一台服务器。
$_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);
如何将$ _FILES转换为文件对象,以便我可以将其附加到curl有效负载中?
答案 0 :(得分:1)
您可以使用file_get_contents()
检索上传文件的内容并将其存储在$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);