PHP base64格式图片上传到阿里云OSS

熊海
熊海

因为一个物联网项目硬件发送过来的数据是base64格式的图片,所以要先处理后再存储到OSS上面,这期间其实还可以对图片进行处理,如水印、大小等。

    //阿里云OSS存储
    'aliyun_oss' => [
        'accessKeyId'      => 'LTAI4G74VcrGfqzU2*****',
        'accessKeySecret'  => 'GtgYTJVBrOeW9pkAR5W9****',
        'endpoint'         => 'oss-cn-hangzhou.aliyuncs.com',
        'bucket'           => 'blparking',
        'domain'           =>'http://oss.data.imxh.cn', //自定义域名
        'cdn'              => ''
    ],
/**
 * base64上传到阿里云OSS
 * @param unknown $base64_img base64流
 * @param unknown $Path //保存路径
 */
function base64_ossUpload($base64_img,$Path){
    $config = config('aliyun_oss');
    if(empty($base64_img))exit;
    $name = date("YmdHis",time()).mt_rand(100000,999999).".jpg";
    $oss=new \OSS\OssClient($config['accessKeyId'],$config['accessKeySecret'],$config['endpoint']);
    try{
        $return= $oss->putObject($config['bucket'],$Path.$name,base64_decode($base64_img));
        $return['info']['ossurl']=str_replace("http://blparking.oss-cn-hangzhou.aliyuncs.com",$config['domain'],$return['info']['url']);
        return $return;
    }catch (\Exception $e){
        return $e->getMessage();
    }
}


支付宝打赏支付宝 微信
微信扫一扫
0 条评论

评论:

发送