我有一个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],
]
],