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


 完。

原文地址:https://www.cnblogs.com/tujia/p/14519227.html