天天看點

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

做OSS圖檔上傳時,可以采用阿裡雲配置設定的oss域名,也可以使用自定義域名(綁定使用者域名),使用阿裡雲域名太長,不美觀,我使用的綁定使用者域名。使用阿裡雲配置設定域名時圖檔檔案可以正常上傳,使用自定義綁定使用者域名時發現報錯.

"\"綁定使用者域名\"bucket name is invalid"           

錯誤大概意思是綁定的使用者域名沒有關聯到bucket上,在檢視阿裡雲oss文檔時發現還需要使用CNAME,使用CNAME綁定到域名域名

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

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();
        }
}           
阿裡雲OSS php 自定義域名 綁定bucket

需要注意,在執行個體化OSS對象時後面需要添加為true,這樣就可以使用自定義域名了