是否可以使用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)
答案 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])