tp5使用oss存储图片

tp5使用oss存储图片


1.申请Access Key ID和Access Key Secret,以及创建好你的Bucket
2.通过composer安装oss插件

通过cmd,到项目的目录下,输入下面的指令。

//通过cmd,到项目的目录下,输入下面的指令。
composer require aliyuncs/oss-sdk-php

3.配置好oss信息,在config.php中

// 在config/app.php
'aliyun_oss' => [
        'accessKeyId'      => '',  //您的Access Key ID
        'accessKeySecret'  => '',  //您的Access Key Secret
        'endpoint'   => '',  //阿里云oss 外网地址endpoint
        'bucket'     => '',  //Bucket名称
        'url'           => ''  // 访问的地址
]
下面接下来就是代码实现了

控制器

记得要在类的头部引入

use \OSS\OssClient;

在图片长传之后,处理到阿里云oss中,并将地址保存到数据库

// test/controller/Test
<?php

namespace app\test\controller;

use app\test\model\TestModel;
use OSS\OssClient;
use think\Config;
use think\Controller;
use think\Request;

class Test extends Controller
{
   
    protected $con;

    public function __construct(Config $config)
    {
   
        $this->con = $config;
    }

    //跳转展示页
    public function index()
    {
   
        return $this->fetch('/test');
    }

    //文件提交OSS 并且入库
    public function create(Request $request)
    {
   

        //获取上传文件
        $file = $request->file('photo_url');
        //上传的文件名
        $filename = $file->getInfo('name');
        //实例化模型
        $testModel = new TestModel();

        $conf = $this->con->get('aliyun_oss');

        //实例化oss
        $OssLicen = new OssClient(
            $conf['KeyId'],
            $conf['KeySecret'],
            $conf['Endpoint']
        );
        //上传到OSS
        $result = $OssLicen->uploadFile(
            $conf['Bucket'],
            $filename,
            $file->getPathname()
        );
        //将数据存入本地数据库
        if ($result) {
   
            $data = $request->param();
            $data['photo_url'] = $result['info']['url'];
            $testModel->save($data);
            $this->success('上传成功', 'test/Test/search');
        }
         //return json(['code' => 0, 'msg' => 'ok', 'data' => $result['info']['url']]);
    }




    //查询分类
    public 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值