阿里云OSS php 自定义域名 绑定bucket-阿里云开发者社区

开发者社区> 云计算> 正文

阿里云OSS php 自定义域名 绑定bucket

简介: 做OSS图片上传时,可以采用阿里云分配的oss域名,也可以使用自定义域名(绑定用户域名),使用阿里云域名太长,不美观,我使用的绑定用户域名。使用阿里云分配域名时图片文件可以正常上传,使用自定义绑定用户域名时发现报错.

做OSS图片上传时,可以采用阿里云分配的oss域名,也可以使用自定义域名(绑定用户域名),使用阿里云域名太长,不美观,我使用的绑定用户域名。使用阿里云分配域名时图片文件可以正常上传,使用自定义绑定用户域名时发现报错.

"\"绑定用户域名\"bucket name is invalid"

错误大概意思是绑定的用户域名没有关联到bucket上,在查看阿里云oss文档时发现还需要使用CNAME,使用CNAME绑定到域名域名
image
OSS文档地址:https://help.aliyun.com/document_detail/32100.html?spm=a2c4g.11186623.6.1055.181165d3LkhGyq
PHP上传代码处理逻辑

 public function upload()
    {

        // 获取上传文件表单字段名
        $fileKey = array_keys(request()->file());

        //获取表单上传文件
        $file = request()->file($fileKey['0']);
        $resResult = Image::open($file);
       
        try {   
            $config = Config::get('aliyun_oss'); //获取Oss的配置
           
            //实例化对象 将配置传入
            $ossClient = new OssClient($config['KeyId'], $config['KeySecret'], $config['Endpoint'],true);
            //这里是有sha1加密 生成文件名 之后连接上后缀
            $fileName = sha1(date('YmdHis', time()) . uniqid()) . '.' . $resResult->type();
            
            //执行阿里云上传
            $result = $ossClient->uploadFile($config['Bucket'], $config['path'] . $fileName, $file->getInfo()['tmp_name']);
           
            if ($result) {
                $result['code'] = 1;
                $result['info'] = '图片上传成功!';

                $result['url'] = $result['oss-request-url'];
                return $result;
            }
        } catch (OssException $e) {
            return $e->getMessage();
        }
}

image
需要注意,在实例化OSS对象时后面需要添加为true,这样就可以使用自定义域名了

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章