一、下载安装

composer require jacobcyl/ali-oss-storage

二、注册服务提供者

在config/app.php的providers下添加:

//阿里云OSS对象存储提供者
Jacobcyl\AliOSS\AliOssServiceProvider::class,

三、配置文件系统

在app/filesystems.php中的disks里下添加:

'disks' => [

    //...
'oss' => [
'driver' => 'oss',
'access_id' => '',//Your Aliyun OSS AccessKeyId
'access_key' => '',//Your Aliyun OSS AccessKeySecret
'bucket' => '',//OSS bucket name
'endpoint' => 'oss-cn-shenzhen.aliyuncs.com', //<the endpoint of OSS, E.g: oss-cn-hangzhou.aliyuncs.com | custom domain, E.g:img.abc.com> OSS 外网节点或自定义外部域名
//'endpoint_internal' => '', //<internal endpoint [OSS内网节点] 如:oss-cn-shenzhen-internal.aliyuncs.com> v2.0.4 新增配置属性,如果为空,则默认使用 endpoint 配置(由于内网上传有点小问题未解决,请大家暂时不要使用内网节点上传,正在与阿里技术沟通中)
//'cdnDomain' => '', //<CDN domain, cdn域名> 如果isCName为true, getUrl会判断cdnDomain是否设定来决定返回的url,如果cdnDomain未设置,则使用endpoint来生成url,否则使用cdn
'ssl' => false, // true to use 'https://' and false to use 'http://'. default is false,
'isCName' => false, // 是否使用自定义域名,true: 则Storage.url()会使用自定义的cdn或域名生成文件url, false: 则使用外部节点生成url
'debug' => true,
],
//... ],

四、基础用法

Storage::disk('oss'); // 如果默认文件系统驱动程序是oss,则可以跳过此步骤

//获取指定存储桶的所有文件(请参阅upond配置)
Storage::files($directory);
Storage::allFiles($directory); Storage::put('path/to/file/file.jpg', $contents); //第一个参数是目标文件路径,第二个参数是文件内容
Storage::putFile('path/to/file/file.jpg', 'local/path/to/local_file.jpg'); //从本地路径上传文件 Storage::get('path/to/file/file.jpg'); // 通过路径获取文件对象
Storage::exists('path/to/file/file.jpg'); // 确定存储(OSS)上是否存在给定文件
Storage::size('path/to/file/file.jpg'); // 获取文件大小(字节)
Storage::lastModified('path/to/file/file.jpg'); // 获取最后修改日期 Storage::directories($directory); // 获取给定目录中的所有目录
Storage::allDirectories($directory); // 获取给定目录中的所有(递归)目录 Storage::copy('old/file1.jpg', 'new/file1.jpg');//拷贝文件
Storage::move('old/file1.jpg', 'new/file1.jpg');//移动文件
Storage::rename('path/to/file1.jpg', 'path/to/file2.jpg');//重命名文件 Storage::prepend('file.log', 'Prepended Text'); // 在文件前面追加内容
Storage::append('file.log', 'Appended Text'); // 在文件后面追加内容 Storage::delete('file.jpg');//删除文件
Storage::delete(['file1.jpg', 'file2.jpg']);//删除多个文件 Storage::makeDirectory($directory); // 创建一个目录
Storage::deleteDirectory($directory); //递归删除目录。它将删除给定目录中的所有文件,因此请谨慎使用。 // 升级日志
// 适用于v2.0版本的新插件
Storage::putRemoteFile('target/path/to/file/jacob.jpg', 'http://example.com/jacob.jpg'); //通过远程URL将远程文件上传到存储
// v2.0.1版本的新功能
Storage::url('path/to/img.jpg'); // 获取文件网址

六、参考文档

packagist地址:https://packagist.org/packages/jacobcyl/ali-oss-storage

阿里云OSS官方文档:https://help.aliyun.com/product/31815.html?spm=a2c4g.11186623.6.540.49122215yuKg2N

Laravel 使用阿里云 oss 存储对象的更多相关文章

  1. 谷粒 | 10 | 阿里云OSS存储对象服务

    阿里云OSS对象存储服务 准备工作 1.在service模块新建子模块service_oss 2.引入pom.xml文件中引入oss服务依赖 <dependencies> <!--a ...

  2. 前端(react)上传到阿里云OSS存储 实例

    需求背景 由于现有的后台管理系统,上传的视频越来越大,加上上传视频较慢,后端小哥提出直接从前端上传视频或者其他文件到阿里云OSS存储. 阿里云OSS 阿里云OSS文档介绍,这里不做过多赘述 安装 原本 ...

  3. php将图片存储在阿里云oss存储上

    创建两个方法 1.上传方法 use OSS\OssClient; use think\Config; use OSS\Core\OssException; /** * 存储文件 * * @param ...

  4. 备份MySQL数据库并上传到阿里云OSS存储

    1. 环境配置 要将本地文件上传到阿里云oss中, 必须使用阿里云提供的工具 ossutil, 有32位,也有64位的, Linux和Windows都有.具体可以到阿里云官网下载 官网及文档: htt ...

  5. 云-阿里云-OSS:对象存储 OSS

    ylbtech-云-阿里云-OSS:对象存储 OSS 对象存储服务(Object Storage Service,OSS)是一种海量.安全.低成本.高可靠的云存储服务,适合存放任意类型的文件.容量和处 ...

  6. laravel使用阿里云OSS上传图片

    需要自己注册阿里云账号并且开通oss服务,建立Bucket存储空间,此步骤不做演示 一.composer安装:使用composer在项目根目录执行以下命令 composer require johnl ...

  7. 阿里云OSS存储开发(一)

    Step 1. 初始化一个OSSClient OSSClient是与OSS服务交互的客户端,SDK的OSS操作都是通过OSSClient完成的. 下面代码新建了一个OSSClient: using A ...

  8. 阿里云OSS存储

    1.accessKeyId 与 accessKeySecret 是由系统分配给用户的,称为ID对,用于标识用户,为访问OSS做签名验证. 2.Bucket是OSS上的命名空间,相当于数据的容器,可以存 ...

  9. Java项目接入阿里云OSS存储

    需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...

随机推荐

  1. vue基础入门(2.3)

    2.3.样式绑定 2.3.1.绑定class样式 1.绑定单个class <!DOCTYPE html> <html lang="en"> <head ...

  2. css可以修改超链接颜色吗?

    超链接a标签大家都应该很熟悉,这篇文章主要的讲的是a标签的基础css样式设置,下面我们来看一下css修改超链接颜色的方法. css可以使用下面几个伪类来设置超链接: a:link :是未被访问的样式, ...

  3. 无题 II 二分图最大匹配

    题目描述 这是一个简单的游戏,在一个n*n的矩阵中,找n个数使得这n个数都在不同的行和列里并且要求这n个数中的最大值和最小值的差值最小. Input 输入一个整数T表示T组数据. 对于每组数据第一行输 ...

  4. 3.第一个scrapy项目

    第一个scrapy项目 1. 创建scrapy项目 1.1 创建项目三剑客 这里的三剑客指的是:创建项目以及运行项目的三条命令 1.1.1 创建项目 scrapy stratproject 项目名称 ...

  5. 简单的SQL语句学习

    CREATE DATABASE db_test; USE db_test; CREATE TABLE USER( uid INT PRIMARY KEY AUTO_INCREMENT, usernam ...

  6. day17 作业

    目录 一.编写函数(函数执行的时间用time.sleep(n)模拟) 二.编写装饰器,为函数加上统计时间的功能 三.编写装饰器,为函数加上认证的功能 四.编写装饰器,为多个函数加上认证的功能(用户的账 ...

  7. keepalived 热备

    概述 keepalived高可用集群      keepalived最初是为了LVS的,因为LVS无法进行自动检测服务器的节点状态(可以自动部署LVS)     keeplived后来加入VRRP给功 ...

  8. Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇

    Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...

  9. wiremock技术入门

    mock用于制作测试桩,是非常好用的自动化测试mock工具  一.下载 进入官网的下载地址: http://wiremock.org/docs/running-standalone/

  10. kubernetes系列(十六) - Helm安装和入门

    1. helm简介 1.1 为什么需要helm 1.2 helm中几个概念 1.3 helm用途 2. helm安装 3. helm的基本使用 3.1 安装chart仓库里面的chart 3.2 创建 ...