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 条评论