- 使用composer在你的项目根目录下载
composer require aliyuncs/oss-sdk-php 这种方式最为简便,其他两种方式请参考官方文档https://help.aliyun.com/document_detail/85580.html?spm=a2c4g.11186623.6.1005.4dac14a0XmeHtD - 首先我们先封装一个方法至服务层或者公共方法中,根据阿里云sdk的官方文档https://help.aliyun.com/document_detail/88473.html
//引入阿里云的cdk命名空间
use OSS\Core\OssException;
use OSS\OssClient;
/**
* 图片上传至阿里云
* @param $path 图片路径
* @param $suffix 图片后缀
* @return string|void
*/
public static function upOss($filePath,$suffix)
{
$accessKeyId=config('oss.accessKeyId');//阿里云accessKey
$accessKeySecret = config('oss.accessKeySecret');//阿里云accessKeySecret
$endpoint=config('oss.endpoint');//阿里云endpoint,也就是你的存储地址
$bucket=config('oss.bucket');//桶名
$object='wx'.md5(time().rand(0000,9999)).$suffix;//自定义的储存文件名称
try {
$ossClient=new OssClient($accessKeyId,$accessKeySecret,$endpoint);//初始化
$ossClient->uploadFile($bucket, $object, $filePath);//提供桶名,储存文件名,本地存储位置进行上传
}catch (OssException $e){//报错提示
printf(__FUNCTION__.":FATLED\n");
printf($e->getMessage()."\n");
return;
}
// print(__FUNCTION__.":OK"."\n");
$url='cdn加速域名或阿里云访问域名'.$object;//访问网址
//然后就可以对此图片地址进行一系列操作啦
} 我们将它简单化,这样可以直接得到相对于的存储地址进行下一步操作了  - 在网页的右上角头像处
   - 在你需要的时候调用这个方法就ok了
public function upPhoto(Request $request)
{
//获取文件路径
$file=\request()->file('file');
//截取文件后缀
$suffix=substr($file->getOriginalName(), strrpos($file->getOriginalName(), "."));
//获取临时路径
$path=$file->getRealPath();
//调用方法
return common::upOss($path,$suffix);
}
?
?
?
?
?
|