【发布时间】:2021-09-25 04:51:15
【问题描述】:
我已经制作了一个表单来上传 2 张图片并将它们发送到 SwiftDil API。我不确定哪里出了问题,但最后我收到一条错误消息:413 Request Entity Too Large。
首先,我将文件保存在服务器上的一个目录中。然后我使用 CURL 和 curl_file_create() 将图像从该目录发送到 SwiftDil。
我可以看到图像存储在目录中。所以我不确定错误是来自服务器还是来自 curl 函数。
$fields = array(
'front_side' => curl_file_create('temp/' . $_FILES['front_side']['name']),
'back_side' => curl_file_create('temp/' . $_FILES['front_side']['name']),
'type' => $document_type,
'document_number' => $document_number,
'issuing_country' => $issuing_country
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url . "customers/" . $customer_id . '/documents');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer $newToken",
"Cache-Control: no-cache"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
最大 500kb 的文件可以正常发送,但所有更大的文件都会返回 413 错误。我不知道它是否与运行脚本的服务器有关。 (我只能看到文件实际上是上传到服务器的)
【问题讨论】:
-
必须检查 php.ini 的最大文件大小,如果你在 nginx 或 apache 后面,你也应该检查这些配置