阿里雲OSS php 自定義域名 綁定bucket


做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,這樣就可以使用自定義域名了

原文地址: https://yq.aliyun.com/articles/750221

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM