composer安装包

composer require mrwanghongda/oss-sdk -vvv

封装oss方法

<?php
namespace App\Aliyun;

use Mrwanghongda\OssSdk\config\OssConfig;
use Mrwanghongda\OssSdk\OssFactory;

class OSS{

   
    public static function setOssFile($file)
    {
        //采用阿里云的oss
        $accessKeyId = config('accessKeyId'); //自己的ak
        $accessKeySecret = config('accessKeySecret');//自己sk
        // Endpoint以上海为例,其它Region请按实际情况填写。
        $region = "http://oss-cn-shanghai.aliyuncs.com";
        // 填写Bucket名称,例如examplebucket。
        $bucket= "examplebucket";

        $config = new OssConfig($accessKeyId, $accessKeySecret, $region);
        $ossObj = (new OssFactory(OssFactory::OSS_ALIYUN))->getOssService();
        $ossObj->init($config)->bucket($bucket);

        // 上传文件
        $filePath = date('Y/m/d H:i:s').'.jpg';
        $result = $ossObj->put($filePath, $file);

        return $filePath;
    }
}

在自己的控制器进行调用

public function createBargainGoods(request $request)
    {
        $data = $request->except('_token','bargain_img');
        $file = $request->file('bargain_img')->getPathname();

        $filename = OSS::setOssFile($file);  
         //拼接自己的阿里云路径 
         $data['bargain_img'] = 'https://tianfuquan.oss-cn-shanghai.aliyuncs.com'.'/'.$filename; 

         $res = Bargain::create($data,true);
         if ($res){
             return ['code'=>200,'msg'=>'添加成功!','data'=>null];
         }
    }

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐