很多小程序都为用户提供了上传图片的功能。这时候使用一些“对象存储”的云服务可能是最快最经济的选择。那么,小程序应该如何使用这种服务呢?使用时要注意哪些问题?
小程序今天分享的这篇文章,将以腾讯云的对象存储服务为例,教你如何将小程序连接到对象存储服务。
准备工作/即将开始工作
上传图片,主要是上传图片到腾讯云对象存储(COS)。要使用对象存储API,您需要首先执行以下步骤:
购买腾讯云对象存储(COS)服务。在腾讯云 对象存储控制台 里创建一个 Bucket。在控制台「个人 API 密钥」页面里,获取 AppID、SecretID、SecretKey 等内容。编写一个请求签名算法程序(或使用任何一种服务端 SDK)计算签名,调用 API 执行操作。
因此,我们必须做好以下准备:
进入腾讯云官网(***.qcloud.com),注册帐号。登录云对象存储服务(COS)控制台,开通 COS 服务,创建资源需要上传的 Bucket。在公众平台小程序后台中,配置相关域名信息(否则无法在小程序中发起对该域名的请求)。
这里不解释这些配置过程,接下来介绍第4步和第5步。小程序上传图片到COS的流程图如下:这个过程中我们需要实现的是认证服务器返回签名的步骤和小程序处理图片的相关步骤。当COS认证服务使用对象存储服务COS时,可以通过RESTful API向COS发起HTTP匿名请求或签名请求。对于签名的请求,COS服务器将对请求的发起者进行身份验证。
匿名请求:
HTTP 请求不携带任何身份标识和鉴权信息
,通过 RESTful API 进行 HTTP 请求操作。签名请求:HTTP 请求时添加签名,
COS服务器端收到消息后,进行身份验证,验证成功则可接受并执行请求
,否则将会返回错误信息并丢弃此请求。
COS云对象存储,基于用户定义的HTTP方案的密钥HMAC(哈希消息认证码),执行认证。在这个例子中,上传图片是一个签名请求,需要签名验证。1.签名流程客户对HTTP请求进行签名,并将签名后的请求发送到腾讯云进行签名验证。具体流程如下图所示:我们使用SDK开发,只需要大致了解一下这个流程。签名的实现包含在SDK中,所以我们只需要调用SDK中的方法。通过签名过程我们可以知道,签名需要SECRTID和secretkey,而这两条信息不适合存储在客户端,这也是我们单独部署一个认证服务器的主要原因。2.用于生成签名的接口。在上一篇文章中,我介绍了我使用sanic框架和swagger_py_codegen在服务器端生成Rest API。为了完成签名生成API,我们需要先在文档中添加API的相关描述。我们需要登录来调用这个接口。文档定义好之后,调用swagger _ py _ codegen >:Docs/v1 . ym1 . p API-TLP Sanic生成代码模板。API实现如下:腾讯云COS v4的Python SDK只支持Python 2,而sanic需要Python 3.5+,所以这里我叉出一个添加了Python 3的副本。使用Python 3的开发者可以使用。
:上传的文件目录
这里获取图片的上传进度,所以在这里,我展示图片的上传进度。
本文来自努力打拼@路上投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/554690.html