IPFS-day02

其他常用操作

  1. 添加文件并用文件夹包裹

    ipfs add xxx -w

  2. 把內容快取到本地,并提供给他人。官网文档

    ipfs pin add QmT7TX5vGmFz86V8cDkPuTss1vp4qTXeaziGZrjdJhURFf

    add 本身是递归的,所有的子目录都回被 pin 住。可以用 ipfs pin ls 看看本地 pin 的内容。

js-ipfs-api

官网

文本上传&获取

  • 上传

    ipfs.files.add(Buffer.from(value, 'utf-8'))
    .then(files => console.log(files[0].hash))
    .catch(e => console.error(e));
  • 获取

    ipfs.files.cat(inputHash, (err, file) => {
    if (err) {
    throw err;
    }
    let message = file.toString('utf8');
    console.log(message);
    })

图片上传&展示

  • 上传

    let fr = new FileReader();
    fr.onloadend=(e) => {
    // 文件加载完成, 开始上传
    ipfs.add(Buffer.from(fr.result))
    .then(result => {this.setState({imgHash: result[0].hash})})
    .catch(e => console.error(e))
    };
    // 加载文件
    fr.readAsArrayBuffer(file)
  • 展示

    <img src={`http://127.0.0.1:8080/ipfs/${imgHash}`} alt="黑马程序员"/>

音频/视频上传&展示

<div id="player__holder">
<h3>多媒体Hash: {mediaHash}</h3>
<video id="player" controls src={`http://127.0.0.1:8080/ipfs/${mediaHash}`}>
<p>Your browser does not support playing video. </p>
</video>
{/*<audio width='100%' controls>*/}
{/*<source src={`http://127.0.0.1:8080/ipfs/${mediaHash}`} />*/}
{/*</audio>*/}
</div>

本地files操作

  • ls
  • cp
  • rm

通过antd优化页面

ipfs跨平台客户端(electron)

https://github.com/ipfs-shipyard/ipfs-desktop/releases

ipfs02的更多相关文章

  1. ipfs02笔记

    IPFS-day02 其他常用操作 添加文件并用文件夹包裹 ipfs add xxx -w 把內容快取到本地,并提供给他人.官网文档 ipfs pin add QmT7TX5vGmFz86V8cDkP ...

随机推荐

  1. js图片预览(一张图片预览)

    核心思想:无论是一张图片上传还是多图上传,首先我们都需要先获得图片对象. 栗子: <inuput type="file" id="myfile" onch ...

  2. mycat的安装及配置文件应用

    table:逻辑一 mycat的安装 1 基于jdk运行 2 获取安装包 3 解压 tar -xf Mycat***.tar.gz 4 测试运行 mycat的根目录中bin保存了mycat的核心命令文 ...

  3. 轻量ORM-SqlRepoEx 重大升级

    .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,支持MySQL.SQL Server数据库方言,使用强类型操作数据的轻量级ORM工具,在减少魔法 ...

  4. center os 文件读写权限

    五.使用chmod和数字改变文件或目录的访问权限文件和目录的权限表示,是用rwx这三个字符来代表所有者.用户组和其他用户的权限.有时候,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅 ...

  5. Ionic的项目结构(angluar js)

    Hybird HTML5 App(移动应用开发)之3.Ionic的项目结构 前面使用命令ionic start myapp下载了默认的Ionic应用程序,下面我们打开应用程序项目,来分析一下Ionic ...

  6. linux运维、架构之路-shell编程(一)

    一.shell编程入门必备基础 1.vim编辑器的命令,vimrc设置 2.150个linux基础命令 3.linux中基础的系统服务crond,ssh网络服务,nfs,rsync,inotify,l ...

  7. git stash应用

    今天在看一个bug,之前一个分支的版本是正常的,在新的分支上上加了很多日志没找到原因,希望回溯到之前的版本,确定下从哪个提交引入的问题,但是还不想把现在的修改提交,也不希望在Git上看到当前修改的版本 ...

  8. vue项目中缓存问题

    单页面应用总是存在缓存问题,特别是在微信端,更新页面之后访问的还是老页面,缓存的问题是因为用户访问的脚本地址并没有改变,浏览器就会读取原来的脚本 网上有几种解决办法,首先列举一下 1.加meta,禁止 ...

  9. 进一步理解 frame 和 bounds

    总结一下 iOS中 frame 和 bounds之间的区别    综述 frame和bounds都是描述一块矩形区域,但是他们是有区别的 frame:可视范围,可以理解为控件的大小,把控件当作边缘很薄 ...

  10. collections模块的使用

    1. Counter counter是collections中的一个模块, 它能够统计出字符串/文本中的每一个元素出现的次数, 并可以对结果进行进一步的处理. 使用方法 传入: 字符串 默认返回: C ...