laravel-5 - PHP GuzzleHttp 。如何在 laravel 5.2 中使用 guzzlehttp 上传图像文件?

标签 laravel-5 guzzle

如何使用 GuzzleHttp(版本 6.0)发出 post 请求。我正在尝试执行以下操作并出现错误

我得到图像值

Illuminate\Http\UploadedFile Object
(
    [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
    [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 1.53mb.jpg
    [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
    [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 1607671
    [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
    [pathName:SplFileInfo:private] => C:\wamp\tmp\php32BB.tmp
    [fileName:SplFileInfo:private] => php32BB.tmp
)

这里我使用guzzlehttp上传图片

$response = $this->client->request('POST', url('/update_profile'), [
    'multipart' => [
        [
            'name'     => 'foo',
            'contents' => fopen('C:\wamp\tmp\php32BB.tmp', 'r'),//this path is image save temperary path
        ]
    ]
]);

现在我得到了错误 fopen(C:\wamp\tmp\php17BC.tmp): 无法打开流:没有那个文件或目录。

如何在multipart中使用contents

最佳答案

我解决了这个问题

$image_path = $post_array['image']->getPathname();
$image_mime = $post_array['image']->getmimeType();
$image_org  = $post_array['image']->getClientOriginalName();

$response = $this->client->post(url('/update_profile'), [
            'multipart' => [
                [
                    'name'     => 'image',
                    'filename' => $image_org,
                    'Mime-Type'=> $image_mime,
                    'contents' => fopen( $image_path, 'r' ),
                ],
            ]
        ]);

关于laravel-5 - PHP GuzzleHttp 。如何在 laravel 5.2 中使用 guzzlehttp 上传图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39219749/

相关文章:

php - 将 Laravel 查询结果转换为类

php - 如何使用 GuzzleHttp/cURL 指定公共(public)证书

php - Guzzle 返回 cURL 错误 3 : <url> malformed

php - 如何使用 GuzzleHttp 执行并发请求

php - 设置 Guzzle 检索的最大内容量

authentication - 如何以寄存器形式在中间件auth中添加一些变量数据?

Laravel Session 总是在 Laravel 5.4 中更改每次刷新/请求

php guzzle [curl] 52 来自服务器的空回复

javascript - 是否可以在 Blade 模板文件中创建 Vue 单文件组件?

php - 如何正确完成此爆炸和比较查询?拉拉维尔 5.3