天天看點

阿裡雲oss對象存儲圖檔上傳

(有同學報錯的 執行這個 composer require jacobcyl/ali-oss-storage)

在 config/app.php 檔案中添加provider

配置 app/config/filesystems.php:

'disks'=>[
        ...
        'oss' => [
                'driver'        => 'oss',
                'access_id'     => '<你阿裡雲 AccessKeyId>',
                'access_key'    => '<你阿裡雲 AccessKeySecret>',
                'bucket'        => '<OSS bucket 名稱>',
                'endpoint'      => '<節點名稱或自定義域名>',
                'isCName'       => <其實就是外網 從0ss那裡開始複制如果上面使用了節點名稱,這裡設定為false,如果使用了自定義域名,為true>,
                'debug'         => '<true|false>',
        ],
        ...
    ]
           

設定預設驅動 app/filesystems.php:

'default' => 'oss',
           

使用

use Storage;


 if($request->hasFile('picname')) {
            //擷取檔案,file對應的是前端表單上傳input的name
            $file =$request->file("picname");
            //随機一個新的檔案名
            $fileName  =md5($file->getClientOriginalName().time().rand()).".".$file->getClientOriginalExtension();
  
          $bool = Storage::put('uploads/admin/'.$fileName,file_get_contents($file->getRealPath()));

            $data['picname'] = $fileName;


        }