是否可以使用Guzzle发布blob ?我能找到的唯一方法是使用@filename上传本地文件。该文件存储为MySQL数据库中的blob,我想将其上传到api作为post字段,而不需要将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)
我找到了解决方案。希望这对以后的其他人有所帮助:
$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])