使用Guzzle将文件从Lumen服务器发送到另一个PHP服务器

时间:2019-08-09 08:52:51

标签: php guzzle

我正在使用Cordova开发移动应用程序,并且正在使用Laravel Lumen作为我的API服务器,并且我的移动应用程序具有浏览图片,使用第三方图片编辑器插件对其进行编辑的部分,然后它将输出base64 ,然后将其转换为blob,然后使用FormData()将其发送到我的Lumen API服务器,我可以通过$_FILES['avatar']甚至使用Laravel Storage Storage::putFile('avatars', '');来确认文件并在var dump时返回

enter image description here

在使用之后,Guzzle将收到的文件从Lumen API服务器发送到另一个PHP服务器(CodeIgniter):

$data = [];

foreach( $request->input() as $key => $val){
    $data[] = [
        'name' => $key,
        'contents' => $val
    ];
} // append the extra datas first

$data[] = [
    'name' => 'avatar',
    'contents' =>  ( isset( $_FILES['avatar'] ) ) ? $_FILES['avatar'] : false
]; // append the file

// send to another server
$res = $this->client->request('POST','https://myapiserver.com/api/update/profile',
    [ 
        'multipart' => $data
    ]
);

return response()->json(json_decode($res->getBody()->getContents()));

不幸的是,下面的图像是返回的错误:

0 个答案:

没有答案