使用Guzzle

时间:2015-06-10 14:11:41

标签: php laravel guzzle

是否可以使用Guzzle发布blob?我能找到的唯一方法是使用@filename上传本地文件。该文件作为blob存储在MySQL数据库中,我想将其作为post字段上传到api,而没有将blob保存到磁盘的冗余(以及随附的权限/路径问题),上传@filename ,然后取消链接文件。这是我所拥有的代码,除了blob之外的所有代码。我需要'file'字段将数据保存为blob。

$data = array(
    'first_name' => $fname,
    'last_name' => $lname,
    'email' => $email,
    'partner_key' => 'qwerty',
    'secret_key' => 'qwerty',
    'file' => $fileblob
);

$curl = new \GuzzleHttp\Client();
return $curl->post('https://www.api.com',['verify'=>false,'body'=>$data])

目标是使用Guzzle替换现有的cURL代码:

'file' => "@".$localfile.";type=".mime_content_type($localfile)

1 个答案:

答案 0 :(得分:3)

我找到了解决方案。希望这对未来的其他人有所帮助:

$data = array(
    'first_name' => $fname,
    'last_name' => $lname,
    'email' => $email,
    'partner_key' => 'qwerty',
    'secret_key' => 'qwerty',
    'file' => new \GuzzleHttp\Post\PostFile('filename', $fileblob)
);

$curl = new \GuzzleHttp\Client();
return $curl->post('https://www.api.com',['verify'=>false,'body'=>$data])