第一步:
下载阿里云OSS SDK
https://github.com/aliyun/aliyun-oss-php-sdk?spm=a2c4g.11186623.2.9.3d7a33bcy6VJf6
第二步:
将文件解压在框架的vendor目录
第三步:
在继承的公共控制器引入文件 使用类
use OSS\OssClient;
use OSS\Core\OssException;
Vendor('aliyun-oss-php-sdk-master.autoload'); //aliyun-oss-php-sdk-master为vendor下oss sdk文件名
第四步:
封装上传文件的方法
/**
* OSS上传文件方法
*
* @param [type] $dst 要存放的路径+图片名称
* @param [type] $src 本地图片的路径+图片名称
* @return void
*/
public function upload($dst,$src){
//阿里云头像那里有个AccessKey管理 点击进去添加 可获得ID和Sercret
$accessKeyId = "";
$accessKeySecret = "";
// Endpoint以杭州为例,其它Region请按实际情况填写。
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
//bucket名称
$bucket = 'demo';
//获取对象
$auth = new OssClient($accessKeyId,$accessKeySecret,$endpoint);
try {
//上传图片
$result = $auth->uploadFile($bucket,$dst,$src);
return $result['info']['url'];
} catch (OssException $e) {
return $e->getMessage();
}
}
第五步:
$_SERVER['DOCUMENT_ROOT'](获取项目在本地的绝对路径)
调用上传文件方法
$dst = 'public/upload/images/demo.png'; //要存放在OSS存储空间的路径+文件名
$src = $_SERVER['DOCUMENT_ROOT'].'/public/upload/images/goods/demo.png'; //文件在本地的绝对路径+文件名
$this->upload($dst,$src);
第六步:
将图片的地址修改为
BUCKET地址+图片所在路径
如:https://demo.oss-cn-hangzhou.aliyuncs.com/public/upload/images/demo.png