laravel - 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,
]);
解决方案
你可以这样做:
->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,
]);
推荐阅读
- excel - 使用 Excel VB getElementsByTagName("a") 进行网页抓取仅在某些时候有效
- python - 使用 win32com 和 pandas 循环 Outlook 日历邀请
- database - 如何从转储文件中恢复 PostgreSQL 数据库
- flutter - 在颤动一定延迟后,有没有办法处理或弹出小部件?
- javascript - 最大化和最小化按钮不触发效果
- javascript - 一个表单和两个提交按钮事件处理程序使控制台闪烁
- ms-access - 找不到获取 3706 提供程序。应用程序移至 Windows 10 时可能无法正确安装
- ruby-on-rails - 没有出现 Flash 通知 Rails
- mysql - 没有 WHERE 子句时的 MYSQL 索引策略
- unit-testing - Flutter 的 WidgetTester.pumpAndSettle() 不等待渲染完成?