IPFS可变文件系统:查看目录的内容

2020-04-13 09:33:46

当我们使用将文件添加到MFS时files.write,该方法没有返回任何值,但是我们仍然可以进行检查以确保一切都按预期进行。

  当我们使用将文件添加到MFS时files.write,该方法没有返回任何值,但是我们仍然可以进行检查以确保一切都按预期进行。

  在可变文件系统中,我们可以使用files.ls 方法检查目录。如果您曾经使用命令行列出计算机上目录的内容,应该会感到非常熟悉。

  该files.ls方法如下所示:

  ipfs.files.ls([path], [options])

  该方法默认将列出您的根目录(/)的内容,或者您可以选择指定path要检查的特定目录(例如)/catPics,

  files.ls 产生一个对象数组,该对象数组针对您要检查的目录中包含的每个文件或目录,具有以下属性:

  name:文件名

  type:对象的类型(0-文件或1目录)

  size:文件大小(以字节为单位)

  cid:内容标识符(CID),用于在IPFS中标识您的文件

  mode:作为数字的UnixFS模式

  mtime:具有数值secs和nsecs属性的对象

  如果我们想检查/catPics 目录的内容,我们可以这样做:

  ipfs.files.ls('/catPics')

  由于该files.ls方法返回一个Async Iterable,因此只能一个一个地迭代这些值。如果需要返回所有值,可以将每个值保存到一个数组中,然后返回该数组。

  要遍历所有值,我们可以使用for await...of循环:

  const result = []for await (const resultPart of ipfs.files.ls('/catPics')) {    result.push(resultPart)}return result

  为了使事情变得简单,我们可以使用it-all自动执行此操作的软件包:

  // the all function comes from the it-all package// and is made globally available (just like ipfs) in our code challengesconst result = await all(ipfs.files.ls('/catPics'))


9.jpg

最新推荐