ps:本文较为详细,需要有耐心的阅读,要是图片看不清楚可以下载到本地放大查看。
写这篇博客的主要目的是因为serverless架构下直接上传图片只能转base64,且body大小有限制
一、在阿里云创建RAM用户与角色
1.为什么要使用RAM用户?
云账号 AccessKey 是您访问阿里云 API 的密钥,具有账户的完全权限,请您务必妥善保管!不要以任何方式公开 AccessKey 到外部渠道(例如 Github),避免被他人利用造成 安全威胁。强烈建议您遵循 阿里云安全最佳实践,使用 RAM 用户(而不是云账号)的 AccessKey 进行 API 调用。
2.登录主账号创建RAM用户
输入你的登录名称,这里只用勾选OpenApi就行了
3.为RAM用户添加权限
在左侧搜索框输入oss与sts进行添加,然后点确定进行保存。
4.创建角色
第二步配置角色,这里一定要选择当前云账号
(填了主账号表示该主账号下的子用户或角色都被允许使用此角色。 如果是当前账号下的子账号需要使用, 直接选择当前云账号即可。)
创建完成之后点击“为角色授权”
接下来依旧是搜索oss与sts进行添加,只不过这个是为角色添加权限
二、为阿里云Bucket创建授权策略
三、安装阿里云oss-sdk
1.选择你使用的后端语言安装sdk,文档直达。
2.使用STS进行临时授权,最底部有各个后端语言的sdk示例,文档直达。
当然官方文档写得过于详细,看起来有点头晕,这是正常的,深呼吸!
下面我贴两段我自己写的代码(python与php)
在编码之前要获取access_key_id、access_key_secret、role_arn。
以下是获取各个参数的贴图
2.1获取access_key_id与access_key_secret,先点击用户,再点击用户登录名称
2.2获取role_arn,点击角色,搜索你自己创建的角色名,然后点击角色名
复制ARN
3.python获取阿里云sts临时令牌代码示例,只有红框处需要填写
4.php获取阿里云sts临时令牌代码示例,只有红框处需要填写
需要安装的sdk,如有遗漏请参考阿里云官方文档进行安装:
composer require alibabacloud/sdk
composer require aliyuncs/oss-sdk-php
5.接下来调试接口能正常返回数据,php与python都是返回相同的内容,返回数据格式如下:
四、小程序实现获取sts临时令牌并直接上传图片至阿里云oss:
1.微信小程序代码片段,点击链接可直接通过微信开发者工具打开,https://developers.weixin.qq.com/s/pj1Oaqm67wIB
2.完整代码,包含php与python获取sts临时令牌代码示例,GitHub - lich/wechatmini-upload-to-aliyun-oss: 微信小程序上传文件至阿里云OSS,通过阿里云STS临时令牌进行鉴权。。
3.阿里云官方文档参考,如何在微信小程序环境下将文件上传到OSS_对象存储-阿里云帮助中心
五、上传完成
转载至个人博客:https:blog.luoye.net
欢迎大家访问我的小程序or公众号文章来源:https://www.toymoban.com/news/detail-765307.html
微信公众号文章来源地址https://www.toymoban.com/news/detail-765307.html
到了这里,关于微信小程序上传文件(图片)至阿里云OSS,包含后端代码示例。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!