代码之家  ›  专栏  ›  技术社区  ›  Wouter den Ouden

请求实体太大php curl

  •  1
  • Wouter den Ouden  · 技术社区  · 6 年前

    我已经制作了一个表单来上传2个图片并将它们发送到SwiftDil API。我不确定哪里出了问题,但最后我得到一个错误:413请求实体太大。

    首先,我将文件保存在服务器上的一个目录中。然后我使用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错误。我不知道它是否与运行脚本的服务器有关。(我只能看到文件实际上载到服务器)

    1 回复  |  直到 6 年前
        1
  •  1
  •   hanshenrik    6 年前

    肯定是服务器问题。413意味着你要上传的内容太大了。如果需要上载更大的文件,请与API服务器管理员联系以增加最大上载大小。(除非您是服务器管理员,在这种情况下,您可能应该将您的问题提交到serverfault.com或superuser.com)