前言
在前端开发中,我们时常需要使用第三方插件或库来简化代码编写过程,提升开发效率。而 npm 就是一个强大的工具,它可以方便地管理和安装这些插件和库。本文将介绍一个常用的 npm 包 - shimo-ali-ons ,它是用于阿里云对象存储服务(Aliyun Object Storage)的 SDK,提供了一系列 API 来操作对象存储服务。
安装
使用 npm 包管理器安装 shimo-ali-ons:
npm install shimo-ali-ons --save
初始化
使用 shimo-ali-ons 前,需要初始化 Aliyun Object Storage 的信息,包括 accessKeyId、accessKeySecret、endpoint、bucketName 等。可以通过如下方式实现:
const oss = require("shimo-ali-ons"); const client = new oss({ accessKeyId: '<yourAccessKeyId>', accessKeySecret: '<yourAccessKeySecret>', endpoint: '<yourEndpoint>', bucket: '<yourBucketName>' });
参数说明:
- accessKeyId 和 accessKeySecret:在阿里云 RAM 中申请的 AccessKey。
- endpoint:OSS 所在地域节点域名,可从阿里云官网 OSS 控制台的域名列表中查找,如 oss-cn-hangzhou.aliyuncs.com 。
- bucketName:存储桶名称,可在 OSS 控制台中创建并获取。
基本操作
文件上传
shimo-ali-ons 提供了一个 client.put
方法来上传文件。
-- -------------------- ---- ------- ----- -- - -------------- ----- ---- - --------------------------------------- ----------------------------- ----------------- -- - -------------------- ------------ -- - ------------------- ---
参数说明:
<localFilePath>
:要上传的本地文件路径。<ossObjectName>
:上传到 OSS 的对象名称(相当于 key)。
文件下载
使用 client.get
方法来获取 OSS 中的文件。如果要将文件保存到本地磁盘,需要通过流(Stream)的方式来处理。
const fs = require("fs"); client.get('<ossObjectName>').then(result => { const fileStream = fs.createWriteStream('<localFilePath>'); result.stream.pipe(fileStream); }).catch(err => { console.error(err); });
参数说明:
<ossObjectName>
:要下载的对象名称。<localFilePath>
:本地保存路径。
文件删除
使用 client.delete
方法删除 OSS 中的文件。
client.delete('<name>').then(result => { console.log(result); }).catch(err => { console.error(err); });
参数说明:
<name>
:要删除的对象名称。
列举目录
使用 client.list
方法列举指定目录下(包括子目录)的所有文件和文件夹。
client.list({ prefix: '<prefix>' }).then(result => { console.log(result.objects); }).catch(err => { console.error(err); });
参数说明:
prefix
:指定目录名称。如果未指定,则返回 bucket 中的所有内容。
总结
本文介绍了 npm 包 shimo-ali-ons 的安装和基本操作,包括文件上传、下载、删除和目录列举。通过 shimo-ali-ons 的使用,可以轻松地将阿里云对象存储集成到前端代码中,提高代码的可维护性和可读性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056cd681e8991b448e672e