简介
kd-react-native-aws3
是一个 React Native 环境下操作 AWS S3 的 npm 包。通过该包,我们可以轻松的在 React Native 应用中上传/下载文件以及创建、删除 S3 中的 bucket。本文将介绍该包的使用教程,帮助大家快速掌握该包的使用方法和实现原理。
安装
在项目的根目录下使用 npm 命令进行安装:
npm install kd-react-native-aws3 --save
使用
初始化配置
在使用该包前,我们需要先进行 AWS S3 的配置,创建一个 S3 用户并获取对应的 Access Key 和 Secret Key。获取后,我们需要在项目的配置文件或者全局配置文件中进行如下配置:
import AWSConfig from 'kd-react-native-aws3'; AWSConfig.setConfig({ accessKey: ACCESS_KEY, secretKey: SECRET_KEY, successActionStatus: 201, });
在 setConfig
方法中,我们需要传入三个参数:
accessKey
: AWS S3 用户的 Access KeysecretKey
: AWS S3 用户的 Secret KeysuccessActionStatus
: 定义上传时接受什么状态,一般情况下默认为 201
如果你在使用过程中遇到了其他的参数配置问题,可以去查看 AWS S3 的文档了解更多。
上传文件
下面我们来看一下如何使用该包进行文件上传。
-- -------------------- ---- ------- ------ - ------ - ---- ----------------------- ----- ------------- - - ---------- ------------ ------- ----------- ------- ------------ ---------- ----------- ---------- ----------- -------------------- ---- -- ----- ---- - - ---- -------------------------------- ----- ------------ ----- ------------- -- ------------ -------------- ---------------- -- - ---------------------- -- ------------ -- - ----------------- ---
在上面的代码中,我们使用了 upload
方法来进行文件上传。该方法接受两个参数:
file
: 需要上传的文件对象options
: AWS S3 配置项
在 options
中,我们需要传入以下参数:
keyPrefix
: 上传的文件所在目录,默认根目录bucket
: AWS S3 上的 bucket 名称region
: AWS S3 上 bucket 所在的地域accessKey
: AWS S3 用户的 Access KeysecretKey
: AWS S3 用户的 Secret KeysuccessActionStatus
: 定义上传时接受什么状态,一般情况下默认为 201
上传成功后,该方法将会返回一个包含对象的 Promise 对象,在 .then()
中,我们可以获取上传后的文件信息。
下载文件
下面我们来看一下如何使用该包进行文件下载。
-- -------------------- ---- ------- ------ - -------- - ---- ----------------------- ----- --------------- - - ---------- ------------- ------- ----------- ------- ------------ ---------- ----------- ---------- ----------- -- ------------------------- ---------------- -- - ---------------------- -- ------------ -- - ----------------- ---
在上面的代码中,我们使用了 download
方法来进行文件下载。该方法接受一个参数:
options
: AWS S3 配置项
在 options
中,我们需要传入以下参数:
keyPrefix
: 需要下载的文件路径和文件名bucket
: AWS S3 上的 bucket 名称region
: AWS S3 上 bucket 所在的地域accessKey
: AWS S3 用户的 Access KeysecretKey
: AWS S3 用户的 Secret Key
下载成功后,该方法将会返回一个包含文件信息的 Promise 对象,在 .then()
中,我们可以获取下载的文件信息。
创建、删除 bucket
下面我们来看一下如何使用该包进行 bucket 的创建和删除。
-- -------------------- ---- ------- ------ - ------------- ------------ - ---- ----------------------- ----- ---------- - ----------- -- -- ------ ------------------------ ----------- ----------- -------- -- - ------------------- ---------- -- ------------ -- - ----------------- --- -- -- ------ ------------------------ ----------- ----------- -------- -- - ------------------- ---------- -- ------------ -- - ----------------- ---
在上面的代码中,我们使用了 createBucket
方法和 deleteBucket
方法分别创建和删除 bucket。这两个方法接受三个参数:
bucketName
: 需要创建或删除的 bucket 名称accessKey
: AWS S3 用户的 Access KeysecretKey
: AWS S3 用户的 Secret Key
在执行成功后,该方法会返回一个 Promise 对象,在 .then()
中,我们可以获取操作的返回信息。
总结
至此,我们已经介绍了 kd-react-native-aws3
的使用方法以及操作 AWS S3 的基本流程。相信通过上述的例子,读者已经对 AWS S3 的操作有了初步的认识并能够开始各种骚操作了。希望这篇文章对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005695681e8991b448e4cfe