如何使用cURL将多个文件发布到Laravel API?

时间:2016-12-22 18:55:53

标签: php arrays laravel curl file-upload

我有一个Laravel后端并且有客户试图使用我们的API。我们允许通过API上传文件,但它要求每个文件都是一个数组。一个元素用于文件本身,第二个元素用于类型ID。

我已经看到了他们发送数据的方式,看起来像是:

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => 'http://path-to-api',
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => [
        'files' => [
            ['fileData' => '@/path/to/file', 'fileType' => 1],
            ['fileData' => '@/path/to/file', 'fileType' => 2],
        ]
    ],
    CURLOPT_RETURNTRANSFER => true,
]);

$response = curl_exec($ch);

但据我了解,cURL不支持多维数组,或者它无法正常工作。

我可以拥有客户实现的可能解决方案是什么,或者我可以在Laravel后端做什么,以便我可以接受文件数组,同时仍然能够验证参数?

我一直在使用cURL测试API,也尝试过POST字段:

CURLOPT_POSTFIELDS => [
    'files' => [
        ['fileData' => new \CURLFile('/path/to/file'), 'fileType' => 1],
        ['fileData' => new \CURLFile('/path/to/file'), 'fileType' => 2],
    ]
],

0 个答案:

没有答案