阿里云对象存储oss配置

一、安装扩展包

找到安装包

laravel < 9 安装 composer require "iidestiny/laravel-filesystem-oss:^2"

二、编写路由和控制器

路由文件auth.php

$api->get('oss/token',[\App\Http\Controllers\Auth\OssController::class,'token']);

控制器  php artisan make:controller Auth/OssController

class OssController extends BaseController
{
    //生成oss上传token
    public function token()
    {
        $disk = Storage::disk('oss');
        $config = $disk->getAdapter()->signatureConfig($prefix = '/', $callBackUrl = '', $customData = [], $expire = 300);
        $configArr = json_decode($config,true);
        return $this->response->array($configArr);

    }
}

三、配置.env文件和config/filesystems.php文件

env文件

OSS_ACCESS_KEY=xxxxxxxxxxxxx
OSS_SECRET_KEY=xxxxxxxxxxxxxxx
OSS_ENDPOINT=xxxxxxxxxxxxxxxxxxxxxxxx
OSS_BUCKET=xxxxxxxxxxxxxxxxxxx

OSS_BUCKET_URL=XXXXXXXXXXXX

filesystems.php文件

'oss' => [
            'driver' => 'oss',
            'root' => '', // 设置上传时根前缀
            'access_key' => env('OSS_ACCESS_KEY'),
            'secret_key' => env('OSS_SECRET_KEY'),
            'endpoint'   => env('OSS_ENDPOINT'), // 使用 ssl 这里设置如: https://oss-cn-beijing.aliyuncs.com
            'bucket'     => env('OSS_BUCKET'),

     'bucket_url' => env('OSS_BUCKET_URL'),
            'isCName'    => env('OSS_IS_CNAME', false), // 如果 isCname 为 false,endpoint 应配置 oss 提供的域名如:`oss-cn-beijing.aliyuncs.com`,否则为自定义域名,,cname 或 cdn 请自行到阿里 oss 后台配置并绑定 bucket
            // 如果有更多的 bucket 需要切换,就添加所有bucket,默认的 bucket 填写到上面,不要加到 buckets 中
            'buckets'=>[
                'test'=>[
                    'access_key' => env('OSS_ACCESS_KEY'),
                    'secret_key' => env('OSS_SECRET_KEY'),
                    'bucket'     => env('OSS_TEST_BUCKET'),
                    'endpoint'   => env('OSS_TEST_ENDPOINT'),
                    'isCName'    => env('OSS_TEST_IS_CNAME', false),
                ],
                //...
            ],
        ],

四、对象存储网站,JavaScript客户端签名直传

下载浏览器客户端代码

https://help.aliyun.com/document_detail/31925.html

五、postman测试获取oss token

get  www.xxx.com/api/auth/oss/token

{
    "accessid""",
    "host""xxx/",
    "policy""xxxyYW5nZSIsMCwxMDQ4NTc2MDAwXSxbInN0YXJ0cy13aXRoIiwiJGtleSIsIiJdXX0=",
    "signature""ccc1QqovSppoXOqe0=",
    "expire"1675330291,
    "callback""eyJjYWxsYmFja1VybCIccccH0mZXRhZz0ke2V0YWd9JmZpbGVuYW1lPSR7b2JqZWN0fSZzaXplPSR7c2l6ZX0mbWltZVR5cGU9JHttaW1lVHlwZX0maGVpZ2h0PSR7aW1hZ2VJbmZvLmhlaWdodH0md2lkdGg9JHtpbWFnZUluZm8ud2lkdGh9JmZvcm1hdD0ke2ltYWdlSW5mby5mb3JtYXR9IiwiY2FsbGJhY2tCb2R5VHlwZSI6ImFwcGxpY2F0aW9uXC94LXd3dy1mb3JtLXVybGVuY29kZWQifQ==",
    "callback-var": [],
    "dir"""
}

 

posted @ 2023-02-02 19:10  深山居士123  阅读(713)  评论(0)    收藏  举报