写一篇阿里云OSS存储laravel框架的第三方工具johnlui/aliyun-oss v2.2.1的使用

johnlui/aliyun-oss v2.2.1,阿里云 OSS 官方 SDK 的 Composer 封装,支持任何 PHP 项目,包括 Laravel、Symfony、TinyLara 等等
首先我们需要下载安装johnlui/aliyun-oss v2.2.1,下载地址:[https://packagist.org/packages/johnlui/aliyun-oss]
(https://packagist.org/packages/johnlui/aliyun-oss)
第一步:打开命令行输入

composer require johnlui/aliyun-oss

安装有两种方法,这是第二种:
编辑配置文件,将以下内容增加到 composer.json:

require: {
    "johnlui/aliyun-oss": "~2.0"
}

第二部:创建service文件App/Service/OSS.php,然后修改配置
在这里插入图片描述
OSS.php里面的内容

<?php


namespace App\Service;

use JohnLui\AliyunOSS;


class OSS
{
	private $city = '北京';

    // 经典网络 or VPC
    private $networkType = '经典网络';
    //private $BucketName = 'Bucket 名';//对应的oss储存里面的
    private $AccessKeyId = 'AccessKeyId';//对应的oss储存里面的
    private $AccessKeySecret = 'AccessKeySecret';//对应的oss储存里面的
    private $isService = '外网地址';//对应的oss储存里面的外网
    private $ossClient;

	public function __construct($isInternal = false)
    {
        if ($this->networkType == 'VPC' && !$isInternal) {
            throw new Exception("VPC 网络下不提供外网上传、下载等功能");
        }
        $this->ossClient = AliyunOSS::boot(
            $this->city,
            $this->networkType,
            $isInternal,
            $this->AccessKeyId,
            $this->AccessKeySecret
        );
    }

	//上传文件的方法
	public static function publicUpload($bucketName, $ossKey, $filePath, $options = [])
    {
        $oss = new OSS();
        $oss->ossClient->setBucket($bucketName);
        return $oss->ossClient->uploadFile($ossKey, $filePath, $options);
    }
}

还有很多方法,我就不全部写了,大家可以自己去看,上面的下载地址里面有
配置好后,laravel5的是不用写到composer.json里面的,只要命名空间写对了就可以用了,4版本的话就要加下面的代码到autoload -> classmap里面

"autoload": {
    "classmap": [
      "app/services"
    ]
  }

然后就可以使用了

use App\Services\OSS;

//更多https://github.com/johnlui/AliyunOSS/blob/master/src/oss/src/Aliyun/OSS/OSSClient.php#L142-L148
OSS::publicUpload('bucket', '目标 object 名', '本地文件绝对路径', [
    'ContentType' => 'application/pdf',
    ... ...
]);

这里面的bucket大家可以在.env文件里面设置一下

ALIOSS_DOMAIN=保存文件的网址
ALIOSS_BUCKET=你的bucket的名字

然后我们顺便把保存文件的网址也定义一下,到时候上传完,想要展示出来的时候就可以直接调用了,那个网址可以在阿里云oss里面看到
以上就是我的心得,希望能帮到你

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值