阿里云oss 直传
sts获取
参考https://help.aliyun.com/document_detail/28792.html?spm=a2c4g.11186623.6.786.6fb238dfI9iiqA
配置config.php
获取sts信息
<?php namespace common\coment;
include_once 'aliyun-php-sdk/aliyun-php-sdk-core/Config.php'; use DefaultProfile;
use DefaultAcsClient;
use ServerException;
use ClientException;
use Sts\Request\V20150401 as Sts;
use yii\db\Exception; define("REGION_ID", "cn-shanghai");
define("ENDPOINT", "sts.cn-shanghai.aliyuncs.com"); class Aliyunsts
{
public static $accessKeyId = "";
public static $accessKeySecret = "";
public static $endpoint = "http://oss-cn-hangzhou.aliyuncs.com/";
private $client; public function __construct()
{
// 只允许RAM用户使用角色
DefaultProfile::addEndpoint(REGION_ID, REGION_ID, "Sts", ENDPOINT);
$iClientProfile = DefaultProfile::getProfile(REGION_ID, self::$accessKeyId, self::$accessKeySecret);
$this->client = new DefaultAcsClient($iClientProfile);
} //获取客户端签名
public function getSts()
{ // 指定角色ARN
$roleArn = "<role-arn>";
// 在扮演角色时,添加一个权限策略,进一步限制角色的权限
// 以下权限策略表示拥有可以读取所有OSS的只读权限
$policy = <<<POLICY
{
"Statement": [
{
"Action": [
"oss:Get*",
"oss:List*"
],
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}
POLICY;
$request = new Sts\AssumeRoleRequest();
// RoleSessionName即临时身份的会话名称,用于区分不同的临时身份
$request->setRoleSessionName("client_name");
$request->setRoleArn($roleArn);
$request->setPolicy($policy);
$request->setDurationSeconds(3600);
try {
$response = $this->client->getAcsResponse($request);
$rows = array();
$body = $response->getBody();
$content = json_decode($body);
$rows['status'] = $response->getStatus();
if ($response->getStatus() == 200)
{
$rows['AccessKeyId'] = $content->Credentials->AccessKeyId;
$rows['AccessKeySecret'] = $content->Credentials->AccessKeySecret;
$rows['Expiration'] = $content->Credentials->Expiration;
$rows['SecurityToken'] = $content->Credentials->SecurityToken;
return $rows;
}
} catch (ServerException $e) {
throw new Exception("Error: " . $e->getErrorCode() . " Message: " . $e->getMessage());
}
} }
browser直传
参考https://help.aliyun.com/document_detail/64041.html?spm=a2c4g.11186623.6.1271.2f3a677awgVmqB
其他参考
https://developer.aliyun.com/ask/2487?spm=a2c6h.13159741
阿里云oss 直传的更多相关文章
- 在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现Web端直传,服务端签名直传并设置上传回调的实现流程
在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现本地文件上传流程 by shuijingwan · 2016/01/13 1.SDK安装 github ...
- php阿里云oss文件上传
php的文件上传 文件上传 php的文件上传放在了$_FILES数组里,单文件和多文件上传的区别在于$_FILES['userfile']['name']是否为数组, 不熟悉的可以读一下官方文档 单文 ...
- 直压到亚马逊AWS平台,阿里云OSS平台或者腾讯云COS平台
GTX Compressor (直压上云技术预览版) Powered by GTXLab of Genetalks. 技术预览版本下载地址: https://github.com/Genetalks/ ...
- 阿里云OSS-web直传---在服务端c#签名,浏览器直传
OSS web直传---在服务端php签名,浏览器直传 本文:OSS web直传---在服务端c#签名,浏览器直传 其他语言的范例地址:https://help.aliyun.com/document ...
- 使用阿里云oss
写这篇博文的原因是公司有个项目需要用到阿里云来存放用户头像文件.后期软件安装版本也可能需要存进去,然后折腾了两天终于摸熟了一点皮毛,在这里给大家简单介绍下. 一.初识对象存储oss 1.进入阿里云控制 ...
- 记一次阿里云oss文件上传服务假死
引言 记得以前刚开始学习web项目的时候,经常涉及到需要上传图片啥的,那时候都是把图片上传到当前项目文件夹下面,每次项目一重启图片就丢了.虽然可以通过修改/tomcat/conf/server.xml ...
- phpcmsv9 阿里云OSS云存储整合教程
该教程算不上是phpcmsv9阿里云oss插件,所以整个修改及其代码覆盖前请一定记得备份.还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因:1.个人的需求是前台页面需要使用t ...
- angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)
2015-10-26 angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前 ...
- 阿里云 OSS+CDN
https://promotion.aliyun.com/ntms/ossedu2.html https://www.aliyun.com/act/aliyun/ossdoc.html 对象存储(Ob ...
随机推荐
- centos输入正确密码后依旧无法登陆问题
输入正确用户名和密码时依旧无法登录. 进入单用户模式重置密码: 开机启动时,按‘E’键(倒计时结束前)进入界面 选择第二项,按‘E’键再次进入 在最后一行添加‘ 1’(空格 1) 回车键保存,回到该界 ...
- asp.net core 3.x Identity
一.前言 这方面的资料很多,重复的写没必要,但是最近一直在学习身份验证和授权相关东东,为了成体系还是写一篇,主要是从概念上理解identity系统. 参考:https://www.cnblogs.co ...
- Maven 阿里云仓库地址
https://maven.aliyun.com/mvn/view 一般使用聚合仓库(group),path是仓库地址.可点击右上角“使用指南”: 附 目前阿里云仓库的地址 https://mav ...
- PHP0026:PHP 博客项目开发3
- k8s强制删除pod
有时候pod一直在Terminating kubectl delete pod xxx --force --grace-period=
- es6异步解决方案
最初使用回调函数 由于最初j s官方没有明确的规范,各种第三方库中封装的异步函数中传的回调函数中的参数没有明确的规范, 没有明确各个参数的意义, 不便于使用. 但是node中有明确的规范 ...
- MySql学习-4.查询1
1.基本查询语法: select * from 表名: **注意** 1.select 后写列名,*代表是所有列: 2.列名可以用as起别名,其出现在结果集中: 3.查询多个列,之间用逗 ...
- python爬虫2:按html标签提取信息和中文域名处理(BeautifulSoup用法初步)
#!/usr/bin/env python # -*- coding: utf- -*- # python3 import string import urllib from urllib impor ...
- vue history模式 ios微信分享 踩过的坑
背景:教育项目,整体依赖于微信环境,涉及到微信分享.微信二次分享 问题:vue使用history模式在iso微信下分享设置出错(签名认证错误.分享设置失败) 问题发现路径 1.按照微信公众号官方文档设 ...
- 11、C++之const类成员变量,const成员函数
//转载 类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变. 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 cons ...