PHP上传图片到阿里云OSS(图片文件或base64数据)


本文链接:https://www.cnblogs.com/tujia/p/14519227.html

 

说明:阿里云OSS有两种方法上传图片,分别是 uploadFile 和 putObject

SDK下载:https://help.aliyun.com/document_detail/85580.html

官方示例:https://help.aliyun.com/document_detail/88473.html

 

其中文档里说的字符串上传方法就是我们需要的 base64 编码格式图片上传的方法!!

 

下面来看一下,具体要怎么操作:

 

一、根据后缀名生成图片文件名

$newObject = IdGenerator::generateObject($suffix);

注:这个需要自己处理,这里提供具体的代码

 

二、图片文件上传

$suffix = substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], '.')+1);
$newObject = IdGenerator::generateObject($suffix);
$uploadResult = $ossClient->uploadFile($_FILES['file']['tmp_name'], $newObject);

 

三、base64 编码格式图片上传

if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $imageBase64Data, $result)) {
    $suffix = $result[2];
    $newObject = IdGenerator::generateObject($suffix);
    $imageBase64Data = base64_decode(str_replace($result[1], '', $imageBase64Data));
    $uploadResult = $ossClient->putObject($newObject, $imageBase64Data);
}

 

 

注:实际使用的时候,要加一些异常处理!!

 

本文链接:https://www.cnblogs.com/tujia/p/14519227.html


 完。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM