php - 如何将 Laravel $request->file(...) 直接传递给 Guzzle POST 请求
问题描述
如何通过 POST 请求
传递$request->file(...)
到?或者甚至有可能吗?我应该先上传吗?Guzzle
这是我的尝试:
$client = new Client([ 'base_uri' => 'http://api.domain.com']);
$response = $client->post(
'/api/dosomething',
[
'multipart' => [
[
'Content-type' => 'multipart/form-data',
'name' => 'photo_1',
'contents' => $request->file('photo_1')
]
]
]
);
这是行不通的。响应正文只是空白。
解决方案
我找到了下面的解决方案(我们需要在临时文件夹中用代码指定临时文件的路径$file->getPathName()
):
$client = new Client([ 'base_uri' => 'http://api.domain.com']);
$file = $request->file('photo_1')
$response = $client->post(
'/api/dosomething',
[
'multipart' => [
[
'Content-type' => 'multipart/form-data',
'name' => 'photo_1',
'contents' => fopen($file->getPathName(), 'r')
]
]
]
);
推荐阅读
- excel - 从其他工作簿导入日期会出现错误 9
- excel - 更新 Excel Visual Basic 电子表格生成器宏
- git - `git checkout [other-branch] path-to-file` 不会覆盖当前分支上的文件
- ibm-mobilefirst - ios设备注册上的INVALID_CLIENT_ID错误
- swift - 为什么struct在转换为字典时需要符合Hashable和Generic数组
- r - 如何在ggplot中没有异常值的情况下调整箱线图中的y轴大小?
- testng - Testng - 每个测试方法都可以有一个数据提供者输入吗?
- c# - 从派生类向基属性添加属性
- spring-cloud-dataflow - 用于 Kubernetes 安装的 Spring Cloud Data Flow Server
- recursion - F# sum 机器控制台