PHP 将Base64图片保存到 Sae storage

时间:2022-01-26 18:10:37
<?php
$file_dir='tu/'.date("Y/m/d").'/';
$fileName=create_guid();
$storage = new SaeStorage();
$domain = 'uploads';
$destFileName = $file_dir.$fileName;
//$srcFileName = $tempFile;
$attr = array('encoding'=>'gzip'); //保存base64字符串为图片
//匹配出图片的格式
$base64_image_content=$_REQUEST["urls"];
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$ex_file = ".{$type}";
$destFileName=$destFileName.$ex_file;
//echo str_replace($result[1], '', $base64_image_content);
$file_content=base64_decode(str_replace($result[1], '', $base64_image_content));
//$result = $storage->upload($domain,$destFileName,$file_content); $storage->write( $domain , $destFileName , $file_content );
$result=$storage->getUrl($domain,$destFileName);
if(!$result) {
//失败
echo '';
}else{
//成功
echo $result;
}
}else{ echo $base64_image_content; }
function create_guid() {
$charid = strtoupper(md5(uniqid(mt_rand(), true)));
$hyphen = chr(45);// "-"
$uuid =''// chr(123)// "{"
.substr($charid, 0, 8).$hyphen
.substr($charid, 8, 4).$hyphen
.substr($charid,12, 4).$hyphen
.substr($charid,16, 4).$hyphen
.substr($charid,20,12);
//.chr(125);// "}"
return $uuid;
}
?>