前言
在 Web 开发中,文件上传和文件管理是常见的需求。常见的文件存储方式有本地存储、CDN 存储和对象存储。其中,对象存储由于具有高可靠性、高可扩展性、低成本等特点,已成为越来越多企业使用的存储方式。而阿里云的 OSS(Object Storage Service)是一款稳定可靠、存储容量无限扩展的云存储服务。
本文将介绍如何使用 npm 包 tmc-egg-oss,在 Egg.js 中上传文件并保存到阿里云 OSS。
安装与配置
在使用 tmc-egg-oss 前,需要在阿里云上创建一个 OSS Bucket,并开通 OSS 服务。
- 配置 Egg.js 的 config/plugin.js 文件,添加 tmc-egg-oss 的依赖:
--------------------- - ------- ----- -------- -------------------- -
- 配置 config/config.default.js 文件,添加 tmc-egg-oss 和阿里云 OSS 的配置信息:
---------- - - ------- - ------------ ---------------- ---------------- -------------------- ------- ----------- --------- ------------- -------- ------------ ------- ----- -- --- ---- -- --
其中,AccessKeyId 和 AccessKeySecret 是阿里云账号的 Access Key 信息,Bucket 是要使用的 OSS Bucket 名称,Endpoint 是 OSS 服务的地址,Timeout 是超时时间。
上传文件到 OSS
- 在控制器中初始化 OSS:
----- ---------- - -------------------------- ----- -------------- ------- ---------- - ----- ------- - ----- --- - ------------- ----- ------ - ----- ------------------------- ----- ------ - ----- ------------ ------ -------- -------------------- - -
- 在模板中添加一个表单,允许用户上传文件:
----- ---------- ------------- ------------------------------ ------ ----------- ------------ ------ ------------- ----------- -------
下载文件
- 在控制器中获取文件 URL:
----- ---------- - ----- --- - ------------- ----- --- - ----- -------------------------- ------- ----------------- -
- 在模板中显示文件:
---- ------- ---- -----------
线上部署
在线上部署时,需要将阿里云的 AccessKeyId 和 AccessKeySecret 填写到服务器的环境变量中,以避免在代码中明文存储密钥信息,增加安全风险。
总结
本文介绍了如何使用 npm 包 tmc-egg-oss,在 Egg.js 中上传和下载存储在阿里云 OSS 中的文件。通过了解这些基础知识,我们可以更好地实践 Web 开发中的文件上传和文件管理等常见需求。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005601081e8991b448ddf7e