~~~
<?php
namespace app\utils;
use OSS\OssClient;
use OSS\Core\OssException;
class AliOss
{
/**
* 阿里云oss简单上传
* @param $path 文件可访问的路径
* @param $filename 文件名称
* @param $flag 1.头像 2.二维码 3.聊天
* @return bool|string
*/
public static function simpleUpload($path,$filename,$flag=3){
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
$accessKeyId = env('oss.accesskeyid');
$accessKeySecret = env('oss.ACCESSKEYSECRET');
// Endpoint以杭州为例,其它Region请按实际情况填写。
$endpoint = env('oss.endpoint');
// 设置存储空间名称。
$bucket= env('oss.bucket');
// 设置文件名称。
if($flag==1){
//头像上传
$object = 'im/head/'.$filename;
}else if($flag==2){
//二维码上传
$object = 'im/qrcode/'.$filename;
}else{
//聊天图片
$object = 'im/chat/'.$filename;
}
// <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。
//$filePath = $path;
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->uploadFile($bucket, $object, $path);
//返回相对路径地址
return '/'.$object;
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return false;
}
}
}
~~~