阿里云 OSS 上传

安装

    composer require aliyuncs/oss-sdk-php

使用

阿里云 OSS 上传

config/aliyunoss

return [
      'oss' => [
          'accessKeyId' =>'你的AccessKeyId', 
          'accessKeySecret'=>'你的AccessKeySecret', 
          'endpoint' =>'/OSS数据中心访问域名,例如oss-cn-hangzhou.aliyuncs.com', 
          'bucket' =>'你的bucket', //bucket
      ]
];

config文件若不生效执行

  php artisan config:cache  

Library/AliyunOss

            <?php
                /**
                 * Notes: 阿里云oss上传
                 * User : zzy
                 * Date : 2020/1/14 * Time : 17:57 
                 */
                 namespace App\Library;
                 use OSS\OssClient;
                 use OSS\Core\OssException;

                class AliyunOss
                {

                     private $accessKeyId = '';
                     private $accessKeySecret = '';
                     private $endpoint = '';
                     private $bucket = '';
                     private $client;

                     public function __construct()
                     {  
                          $this->accessKeyId = config('aliyun.oss.accessKeyId');
                          $this->accessKeySecret = config('aliyun.oss.accessKeySecret');
                          $this->endpoint = config('aliyun.oss.endpoint');
                          $this->bucket = config('aliyun.oss.bucket');
                          $this->initialize();
                     }

                      /**
                       * Notes: 初始化
                       * User: zzy
                       * Date: 2020/1/14 * Time: 18:01 * Version: 
                       */  
                       private function initialize() {
                          $this->client = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
                        }

                     /**
                       * Notes: 文件上传
                       * User: zzy
                       * Date: 2020/1/14 * Time: 18:09 * Version: * @param string $fileName
                       * @param string $localFile
                       * @param int $type
                       * @return array
                      */  
                     public static function uploadFile($fileName='', $localFile='', $type=1){
                        $oss = new AliyunOss();
                         try {
                              if($type == 1) {
                                  $result = $oss->client->uploadFile($oss->bucket, $fileName, $localFile);
                              } else {
                                  //文件分片上传,支持断点续传;最大支持48.8TB
                                  $result = $oss->client->multiuploadFile($oss->bucket, $fileName, $localFile);
                              }
                              return array("status"=>1,"data"=>$result);
                          } catch(OssException $e) {
                              return array("status"=>0,"data"=>$e->getMessage());
                          }
                      }
                }

调用

    use App\Library\AliyunOss;

    var_dump(AliyunOss::uploadFile('1.mp3',$_FILES['file']['tmp_name'],1));

其他的使用方法请参考OSS官方文档

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

这个自动加载完全没必要

1个月前 评论
最闲的码农 (楼主) 1个月前
nfangxu

s3 他不香吗

1个月前 评论
Destiny
1个月前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!