javascript - 如何在超级账本作曲家游乐场上传图片?
问题描述
我正在尝试构建一个用于分布式图像共享和版权保护的区块链应用程序。我使用图像作为资产。
所以现在我想在 Hyper ledger Composer 游乐场上传一张图片。我怎样才能做到这一点?
解决方案
您可以将文件数据存储到 IPFS 中。IPFS 是一种协议和网络,旨在创建一种可在分布式文件系统中存储和共享超媒体的内容可寻址、点对点方法。
对于 IPFS,我建议您点击链接
在您的应用程序中,在需要存储 Image 的 js 文件中。在那里你只需要编写ipfs
连接代码。当您当时运行应用程序时,请确保已ipfs daemon
启动。
成功上传文件后,IPFS 会给你一个 Hash 链接。您可以将该哈希存储到资产中或参与超级账本作曲家。
例如
function toIPFS(file) {
return new Promise(resolve => {
const reader = new FileReader();
reader.onloadend = function() {
const ipfs = window.IpfsApi('ipfs', 5001,{protocol : "https"}) // Connect to IPFS
const buf = buffer.Buffer(reader.result) // Convert data into buffer
ipfs.files.add(buf, (err, result) => { // Upload buffer to IPFS
if(err) {
return
}
let url = `https://ipfs.io/ipfs/${result[0].hash}`
resolve('resolved url');
})
}
reader.readAsArrayBuffer(file); // Read Provided File
});
}
我希望它会帮助你。:)
推荐阅读
- java - 获取 java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:运行查询后出现意外令牌
- telegram - 使用 pm2 在多个集群中运行电报机器人
- java - 字符串不变性如何提高安全性?
- json - 只接收部分消息
- huawei-mobile-services - 无法使用云调试来测试我的华为 apk
- python - 我可以通过 Python 中的套接字编程访问 IP 摄像机 PTZ 端口并向其发送十六进制字节吗?
- azure - 为什么 azure artifacts 包含所有参考 3rd 包
- angular - Angular Spectator 测试的 `within` 等价物
- python - 比较数据框并了解它们的差异
- actionscript-3 - 在两个动态文本字段之间显示相乘值