首页 > 解决方案 > Laravel 7 HTTP客户端附加多个文件

问题描述

我正在尝试将 POST 发送到需要从用户输入表单发送多个文件的休息 API。我已经设法让它与单个文件一起工作,但是当有多个文件作为数组发送时($file[]),我在 laravel 文档中看不到任何东西来展示如何做到这一点。

$response = 'API_URL';
        $response = Http::withToken(ENV('API_KEY'))
        ->attach('file', fopen($request->file, 'r'))
        ->post($url, [
           'uuid' => $request->uuid,
        ]);

标签: laravelguzzle

解决方案


你可以这样做:

->attach('file[0]', fopen($request->file[0], 'r'))
->attach('file[1]', fopen($request->file[1], 'r'))

如果您$files是要发送的文件数组,则可以执行以下操作:

$response = Http::withToken(ENV('API_KEY'));
foreach($files as $k => $file)
{
$response = $response->attach('file['.$k.']', $file);
}
$response = $response->post($url, [
           'uuid' => $request->uuid,
        ]);

推荐阅读