IPFS-day02
其他常用操作
-
添加文件并用文件夹包裹
ipfs add xxx -w
-
把內容快取到本地,并提供给他人。官网文档
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