前言
通常情况下,开发者都是从其他人手上继承下一个已经给出的代码库,为了方便管理代码,并且能够方便的共享功能,我们使用npm包管理工具。npm是Node.js的包管理器,也是世界上最大的软件仓库之一。通过npm,您可以轻松地在项目中使用各种包来完成特定功能。
在本文中,我们将讨论一个npm包,它被称为storj-lib。storj-lib是一个JavaScript库,专门用于创建和操作Storj网络(分布式云存储)的文件。本文将介绍如何使用storj-lib包,从而创建和上传文件到Storj网络上。
安装storj-lib
在使用storj-lib之前,需要先安装它,我们可以打开终端命令,键入以下命令来安装storj-lib:
npm install storj-lib --save
其中 –save 参数将会保存上面的依赖到项目的 package.json 文件,以后运行时,我们只需要键入 npm install 命令,所有的node.js包将自动安装。
创建Storj网络帐户
在上传文件之前,您还需要使用Storj帐户来访问网络。您可以在https://storj.io/signup进行帐户创建。
一旦您拥有了Storj网络帐户,您将获得对数据中心的公共访问密钥和私密密钥的访问权限。
- 准备工作完成后,让我们开始上传文件吧!
在你的项目中使用如下的代码:
-- -------------------- ---- ------- ----- ----- - -------------------- ----- -- - -------------- ----- ---- - ---------------- --- --- - --- -------------------- ---------- - ------ ----------------------- --------- ----------------- - --- --- ------- - ---------------- --- ------ - -------------------- ----------------------------------------- ------------- ---- - -- ----- - ----- ---- - ----------------------- ------- --- ------- - - -------- ------------------- --- --- - - ---------------------- -------------------- ---- ---- - - --------------------- ---
在代码中,您需要填入您的Storj帐户email和password信息。在初始化storj包之后, storj.BridgeClient会连接Storj的桥接器,以便您可以与Storj网络进行交互。
在成功连接到Storj网络后,storj.KeyPair()将创建一个新的公钥/私钥对,用于加密和解密文件。
最后,使用api.createUserKey()方法将存储生成的公钥/私钥对。公钥将用于存储您的文件,而您的私钥将用于解密这些文件。
上传文件到Storj网络
一旦您的帐户和加密密钥已经准备就绪,我们就可以上传文件到Storj网络了!
-- -------------------- ---- ------- --- -------- - --------------- --- ---------- - -------------------------- --- -------- - ------------------------ --- ------ - -------------------- -------- -------- ------------ -- -------- ------ ---------- ----------------------- ---------- - ------ ----------------------- --------- ----------------- - --- --- --------- ---------------------------------------- ----- ------- -- - -- ----- - ----- ---- - ----------- -------- - ---------- ---------------------- - ----- ------------------- --- --------- - -- --- ------------- - - -------- ---------- - -- - -- - -- - ----- ------------ ----------------- - --- ------ - -------------------- --- -------- - ----------------------- --------- -------------- --- -------------- - ------ -------------------- ----- -- - ----------------- -------------- - ----- -- ----------------------- ------ -- - ------------------ -------------- - ----- -- ----------------------- ------ -- - ---------------------- ----- --------- -- -- ------ ------------- - ---- ---------- - ------ -- ------------------------- -- --- ----------------------------- --- ------------------------ -- --- ---------------------------- --- ---------------------- -- ----------------- -------- -- ----- ----------
- 在上传代码中,您需要修改filepath变量以包含您要上传的文件的路径。另外,您还需要将bucketId变量设置为您想要上传到的存储桶ID。Bucket为一个特定的存储点,所有的文件均存储在Bucket中。如果当前Bucket不存在的话。程序将停止并打印’Bucket not found.’。
uploadOptions对象描述了上传的文件信息,包括上传的过期时间以及文件流大小。
我们使用 client.upload(bucketId, filename, uploadOptions) 方法来上传文件。上传进程中,程序将会监听‘error’, ‘finished’ , ‘progress’, ‘decrypting’ 和 ‘uploading’ 几个事件。
- 最后,在while循环中等待上传完成,程序将会输出:'file uploaded to Storj network.'。
总结
在本文中,我们介绍了如何使用storj-lib包来向Storj网络上传文件。我们从安装Storj-lib开始,它将会给出一个非常便捷的方法,使您的应用,与Storj网络进行交互。我们还讨论了如何创建Storj网络帐户,上传文件以及解密文件的私钥。相信通过本文的介绍,您已经可以熟练的在Nodejs的前端项目中使用Storj网络,实现文件的加密与上传。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb677b5cbfe1ea0611542