阿里云oss的基本使用,文件上传,文件上传到指定目录(文件夹)
Posted keta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云oss的基本使用,文件上传,文件上传到指定目录(文件夹)相关的知识,希望对你有一定的参考价值。
阿里云oss的基本使用:
php案例:
先购买oss资源包,我的建议是要买自己服务器所在区的资源包这样你的服务器自身可以与oss内网连接而不产生外网的所有费用,根据你的自己的需求买对应的资源包。
购买完以后就可以自己探索一下oss的用法了,这里我说一下自己踩过的坑。
注意一下几点:
1.文件访问是要有权限的,oss系统提供了一套权限管理系统
2.如果你的请求被拦击了请自己检查你的用户是否有相应的权限。
在php的阿里云的oss sdk中有如下注释:
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
使用阿里云主账号AccessKey的风险很高,所以还是听他的吧。
进入:https://ram.console.aliyun.com
在你创建用户以后会给你一个密匙(只会出现一次一定要保存)
好了现在这个兴建的用户有了管理你的oss的权限了:
下面这个案例是上传到oss的指定文件夹,OSS中文件夹的概念仅是一个逻辑概念,在通过API/SDK的方式设置文件夹的时候可以指定object对应的key值包括前面的目录即可实现该功能。例如,定义object的key为abc/1.jpg就会在该bucket下创建一个abc的文件夹,而在文件夹下即会有一个1.jpg的文件。在控制台上也可以通过新建文件夹按钮来创建文件夹。
好了这里就已经可以上传到指定的文件夹了。
具体代码如下:
需要你下载php的sdk以后包含其autoload.php
<?php require_once __DIR__ . ‘/autoload.php‘; use OSSOssClient; use OSSCoreOssException; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。 $accessKeyId = "你的accessKeyId "; $accessKeySecret = "你的accessKeySecret "; // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = "http://oss-cn-shanghai.aliyuncs.com"; // 存储空间名称 $bucket= "你的bucket的名字"; // 文件名称 这里加了文件夹分割 会自动上传到指定文件夹(存在,文件夹不存在则会自动创建) $object = "img/123.jpg"; // <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt $filePath = "C:\Users\ZEC--\Desktop\QQ图片20181119115842.jpg"; try{ $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); $ossClient->uploadFile($bucket, $object, $filePath); }catch(OssException $e) { printf(__FUNCTION__ . ": FAILED "); printf($e->getMessage() . " "); return; } //输出查看 echo "<a href=‘http://".$bucket.".oss-cn-shanghai.aliyuncs.com/".$object."‘>1321321</a>"; ?>
具体的用法阿里云的sdk手册说的非常清楚了:
手册地址:https://help.aliyun.com/document_detail/32099.html?spm=a2c4g.11186623.6.796.d6f35d260W2xSz
以上是关于阿里云oss的基本使用,文件上传,文件上传到指定目录(文件夹)的主要内容,如果未能解决你的问题,请参考以下文章