前言
在前端开发中,经常会涉及到上传图片或者文件的需求。传统的做法是通过直接上传到服务器,但是这种方式可能存在一些问题,比如服务器的容量有限,上传速度慢等问题。因此,云存储服务就成为了一个不错的选择。阿里云的对象存储服务OSS就是一个不错的选择,它可以提供大容量、高可靠性、低延迟、低成本的存储服务。本篇文章将介绍如何使用npm包egg-oss-sts上传文件到阿里云的OSS。
关于egg-oss-sts
egg-oss-sts是一个封装好的egg.js的阿里云OSS SDK,它不仅支持临时STS配置,还支持通过AccessKey直接读写OSS资源。同时,它可以跟egg.js项目无缝集成。
安装egg-oss-sts
我们可以通过npm安装egg-oss-sts:
npm install egg-oss-sts --save
使用egg-oss-sts
1、连接OSS
连接OSS需要配置AccessKey和密钥(SecretKey)。
-- -------------------- ---- ------- ----- - --- - - ----------------------- ----- --- - --- ----- ------------ -------------------- ---------------- ------------------------ --------- ----------------- ----------- ------------------- ------ -------------------- ---
AccessKey和密钥可以在阿里云的控制台上获取。endpoint
和apiVersion
是阿里云OSS的API调用地址和版本号。
2、获取临时STS配置
const result = await sts.assumeRole('<yourRoleArn>', '<yourRoleSessionName>', '<yourPolicy>', '<yourDurationSeconds>');
RoleArn
: 要获取临时访问权限的角色的ARNRoleSessionName
: 表示将要创建的角色会话,并且是该会话的唯一标识符Policy
: 表示访问控制信息DurationSeconds
: 临时STS配置的有效期,单位为秒
返回值为:
-- -------------------- ---- ------- - ------------ - ---------------- --- ------------ --- ----------- --- -------------- --- -- ---------------- - ---- --- -------------- -- - -
这里返回的Credentials就是我们的临时访问密钥。
3、使用临时STS配置上传文件
-- -------------------- ---- ------- ----- - --- - - ----------------------- ----- -- - -------------- ----- ---- - ---------------- ----- --- - --- ----- ------------ -------------------- ---------------- ------------------------ --------- ----------------- ----------- ------------------- ------ -------------------- --- ----------- ----- ------ - ----- ------------------------------- ------------------------ --------------- ------------------------- -------- ------ ----- --- - --- ----- ------- ---------------------- ------------ ------------------------------- ---------------- ----------------------------------- --------- --------------------------------- ------- --------------- -------- ----- - --- ------ ----- ------- ----- --- ---------- ----- ------------- - -------------------- ------------------ ----- -------------- - ------------------ ----- ------ - ----------------------------------- ----- ------ - ----- ----------------------------- -------- ----------------- -------- --- ----------------
总结
通过使用egg-oss-sts,我们可以方便地将文件上传到阿里云的OSS,并且可以实现临时STS配置,保证数据的安全和可靠性。同时,egg-oss-sts也提供了很多其他的API函数,可以参考官方文档进行学习和调用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055f1c81e8991b448dcb54