转载请声明出处
环境必须:阿里云OSS php SDK
阿里云OSS php SDK地址:https://github.com/aliyun/aliyun-oss-php-sdk?spm=a2c4g.11186623.2.9.564522154eaqQP
我是直接下载下来丢到tp5 目录下的 vendor/aliyun 目录下
系统环境:centos 6.5

在项目中正确的加入了php sdk 后,那么直接在配置文件中修改以下的配置文件信息,直接套用,注意,还有一个存储空间名,在代码中有标准,将空间名改成你的空间名即可,还有本项目我是用来做img上传的,其他文件也一样,不过建议根据自己项目需求修改下最好。还有一点由于本人暂时不用考虑服务器的问题。所以是在web端操作经过服务器处理上传,并没有直接上传阿里的OSS。希望各位可以留言留下更好的方法~谢谢!

以下扩展类有几个配置项:
config('webpath_local') :web的绝对路径,与 ‘vendor/aliyun/autoload.php’ 拼接,在类中引用
config('accessKeyId'):
config('accessKeySecret'):.
config('endpoint'): 你的阿里云的 accessKeyId,accessKeySecret,endpoint 加入到配置文件中即可

如何调用:
首先在tp类头部use(在此注意,轮子扩展类的文件名为 aliyun.php )
use aliyun\aliyun\aliyun;
然后简单调用代码:

     $aliyun = new aliyun();//实例化阿里云上传扩展类$fileMsg=$_FILES;//前端给予的文件信息$aliyunUrlResult=$aliyun->Uploadaliyunoss($fileMsg);//传入阿里云OSS上传方法。也就是轮子的上传方法

轮子:

<?php
namespace aliyun\aliyun; \\当前命名空间
//引入文件
if (is_file(config('webpath_local') . 'vendor/aliyun/autoload.php')) {require_once config('webpath_local') . 'vendor/aliyun/autoload.php';
}use OSS\OssClient;
use OSS\Core\OssException;
use OSS\Http\RequestCore;
use OSS\Http\ResponseCore;class aliyun
{public function Uploadaliyunoss($fileMsg=null){$accessKeyId = config('accessKeyId');$accessKeySecret = config('accessKeySecret');// Endpoint以杭州为例,其它Region请按实际情况填写。$endpoint = config('endpoint');// 存储空间名称。$bucket= "你的存储空间名称";// 文件名称$object = time().$_FILES['img']['name'];// <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt$filePath = $_FILES['img']['tmp_name'];try {$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);// 设置Socket层传输数据的超时时间,单位秒,默认5184000秒。$ossClient->setTimeout(3600);// 设置建立连接的超时时间,单位秒,默认10秒。$ossClient->setConnectTimeout(10);$res = $ossClient->doesBucketExist($bucket);if ($res === true) {//print(__FUNCTION__ . ": OK" . "\n");} else {//print(__FUNCTION__ . ": FAILED" . "\n");}$UploadResult=$ossClient->uploadFile($bucket, $object, $filePath);//返回上传后的访问url,如果没有设置公共读将会读取不到,设置公共读后将不是很安全return $UploadResult['info']['url'];} catch (OssException $e) {print $e->getMessage();printf($e->getMessage() . "\n");return;}}
}

Thinkphp5.0 阿里云OSS扩展类上传示例(轮子)相关推荐

  1. Spring boot上传文件(图片)到阿里云OSS(直接上传到应用服务器)

    Spring boot上传文件(图片)到阿里云OSS(直接上传到应用服务器) 主要思路 上传图片的思路有两种: 第一种是上传到应用服务器,再由应用服务器上传到OSS.这种适合上传的文件较小,较为简单, ...

  2. 使用阿里云OSS实现图片上传案例

    文章目录 前言 一.OSS是什么? 二.使用步骤 1.开通OSS服务 2.创建bucket 3.创建子账户 4.查看帮助文档,编写后端代码 5.layui前端 总结 前言 在正式的开发环境中,类似图片 ...

  3. 使用阿里云OSS实现文件上传

    概述场景 文件上传,是程序开发中必须会使用到的一个功能,比如: 添加商品,用户头像,文章封面等需求 富文本编辑(插件文件上传) 文件上传的原理是什么? 我们为什么要实现文件上传,其实就要共享资源,大家 ...

  4. **关于阿里云oss图片批量上传问题解析**

    关于阿里云oss图片批量上传问题解析 背景 最近在项目开发过程中遇到的问题,消耗了比较久的时间,过程曲折,虽然最终达到目的,但是鉴于各种常用的云数据在对象存储方面大同小异,所以记录一下. 理一下思路: ...

  5. vue plupload 的使用, 阿里云OSS PHP 安全上传

    1.  首选npm安装plupload 2. 阿里云OSS PHP 安全上传 <template>   <div class="imgUpload">   ...

  6. 阿里云 OSS SDK :上传的图片直接访问变成下载问题解决

    文章目录 阿里云 OSS SDK :上传的图片直接访问变成下载问题解决 1.产生原因 2.解决方案 阿里云 OSS SDK :上传的图片直接访问变成下载问题解决 1.产生原因 上传的文件,未指定文件访 ...

  7. 阿里云oss简单的上传下载删除(java)

    阿里云oss上传和下载. 配置maven <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss --> ...

  8. Typora + Picgo + 阿里云oss实现图片上传

    Typora + Picgo + 阿里云oss实现图片上传 设置原因 Typora是一款markdown文本编辑器,无法承载本地图片存储的功能,书写好的文章上传到博客或其他设备上时会导致图片丢失,无法 ...

  9. 阿里云OSS Multipart Upload上传实例

    原来是用的PutObject()方式上传文件的,但是当文件比较大的时候,总是报一个对方强制关闭连接导致上传失败.PS:公司的网比较渣,10MB的文件都传不上去,搜了下,说使用Multipart Upl ...

最新文章

  1. mysql timestamp json_mysql中timestamp,datetime,int类型的区别与优劣
  2. Elasticsearch源码分析—线程池(十一) ——就是从队列里处理请求
  3. android运行内存与存储内存,运行内存和机身内存的区别 这些知识你知道吗
  4. 贺TDSQL喜提286万QPS!本文回顾了它的十年锻造之路
  5. java事件监听器无效_Java的事件监听器学习心得
  6. cobbler安装4个报错汇总及解决方法:ImportError
  7. java中res是什么意思_java中的set是什么意思
  8. conn.setAutoCommit(true) and conn.close() 关系
  9. unity 中画布随相机视野实时变化
  10. 【最长上升子序列】HDU 1087——Super Jumping! Jumping! Jumping!
  11. 电气工程cad实用教程电子版_电气工程cad实用教程
  12. 我的世界pc要安装java_我的世界安装教程 PC版新手安装攻略
  13. 两台笔记本无线共享上网
  14. 云计算机每秒网速,云游戏网速要求是多少_云游戏网速不够怎么办
  15. 电脑中病毒,文件夹变成快捷方式
  16. 组合数据类型综合练习:英文词频统计
  17. MATLAB代码:基于非对称纳什谈判的多微网电能共享运行优化策略
  18. 麦德龙中国正式引进高品质法国牛肉
  19. [filelock] DEBUG: Attempting to acquire lock 1953841203184 on D:\D
  20. 论文阅读You Only Hypothesize Once: Point Cloud Registration with Rotation-equivariant Descriptors

热门文章

  1. 代码改变世界,也改变了我
  2. asp.net core web mvc之异常
  3. 海棠读社小程序研发(.Net Core版)
  4. [开源] .Net ORM FreeSql 1.10.0 稳步向前
  5. 今天的你,又被带节奏了吗?
  6. 体验.NET5 RC1极致性能,你也要“卧槽”!
  7. 很认真地聊一下 “选择比努力更重要”
  8. 从AppDomain迁移到AssemblyLoadContext
  9. 软件设计的第一性原理:结构化抽象
  10. DDD领域驱动设计理论篇 - 学习笔记