本教程将介绍 npm 包 minio-lite 的使用方法,并详细讲解其在前端开发中的应用场景和指导意义。minio-lite 是一个轻量级的、基于 JavaScript 实现的 minio 客户端,可以用于与 minio 服务器进行交互,包括上传、下载、列举 Bucket 等操作。
安装
首先需要在项目目录下使用 npm 进行安装,具体命令如下:
npm install minio-lite
使用方法
在使用 minio-lite 之前,需要先在项目中引入该模块。接着需要创建一个 minio 实例,并配置服务器信息。具体示例如下:
-- -------------------- ---- ------- ----- - ----- - - ---------------------- ----- ------ - --- ------- --------- ---------------- ----- ----- ------- ----- ---------- ------------- ---------- ------------- ---
其中,endPoint 为 minio 服务器的域名或 IP;port 为服务器的端口号;useSSL 为是否使用 SSL 进行通信;accessKey 和 secretKey 分别为访问 minio 服务器所需要的身份凭证。
接着就可以通过 client 对象进行文件上传、下载等操作。下面将介绍几个常用的操作方法。
创建 Bucket
可以使用 client.makeBucket(bucketName) 方法创建一个 Bucket。
client.makeBucket('test-bucket') .then(() => console.log('Bucket created successfully')) .catch((err) => console.log('Error occurred: ', err));
上传文件
可以使用 client.putObject(bucketName, objectName, stream, size) 方法将一个文件上传到指定的 Bucket 中。其中,bucketName 为 Bucket 名称;objectName 为文件在 Bucket 中的名称;stream 为文件流,可以通过 fs.createReadStream() 方法获取;size 为文件大小。
const fs = require('fs'); const fileStream = fs.createReadStream('/path/to/file.txt'); const fileStats = fs.statSync('/path/to/file.txt'); client.putObject('test-bucket', 'file.txt', fileStream, fileStats.size) .then(() => console.log('File uploaded successfully')) .catch((err) => console.log('Error occurred: ', err));
下载文件
可以使用 client.getObject(bucketName, objectName) 方法将指定的文件从 Bucket 中下载到本地。其中,bucketName 为 Bucket 名称;objectName 为文件在 Bucket 中的名称。
client.getObject('test-bucket', 'file.txt') .then((dataStream) => { const fileStream = fs.createWriteStream('/path/to/downloaded/file.txt'); dataStream.pipe(fileStream); console.log('File downloaded successfully'); }) .catch((err) => console.log('Error occurred: ', err));
列举 Bucket
可以使用 client.listBuckets() 方法列举所有的 Bucket。
client.listBuckets() .then((buckets) => console.log('Buckets: ', buckets)) .catch((err) => console.log('Error occurred: ', err));
指导意义
minio-lite 为前端开发中与 minio 服务器进行交互提供了一个方便、易用的工具。其轻量级的特性使得它可以轻松地集成到现有的前端项目中,并可以与其他前端技术栈无缝协作。通过本教程的学习,读者可以掌握 minio-lite 的基本用法,并应用于实际项目中,提升开发效率和开发体验。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005625f81e8991b448dfa17