采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
目的:使用fabric存储图片 问题:fabric目前的块大小貌似不支持图片,想咨询下老师如何实现使用fabric对图片进行存储,fabric对于上传的大文件有自动分块吗?如果分块后如何对文件进行获取或者查询?
亲,你好。最近比较忙,不好意思。
我们从两方面说:
1、图片在程序中的表示一般是二进制流,也就是[]byte,如果想把图片存储在fabric中,可以将图片序列化后存入某个能标识这个图片的一个key中,通过invoke交易提交到区块链网络。fabric对大文件是不会分块的。这种情况下,我们可以通过query交易查询图片。
2、因为区块链的数据整合方式,从根源上区块链就不适合存储大文件,fabric也不例外。一般我们推荐的做法是把图片等大文件存储在第三方,然后将图片的标识存储到链上。第三方我们可以是云平台,比如七牛云或者自己服务器。但是区块链的通用解决方案是存储到ipfs中。图片的标识可以是图片在第三方平台的访问地址。也可以是图片的md5编码,只要我们能通过这个标识在第三方平台找到相应的源图片就行。这种方式,查询图片的方法就是先通过query交易查询图片标识,然后通过标识去第三方平台查询真正的图片。
祝你学习愉快。
你好老师, 大的文件如果区块链中只存一个标识, 实际文件存在第三方的话,假设是一些安全性要求高的文件 会不会不太安全呢? 另外就是, 如果存在 ipfs 会不会数据安全性的问题呢?
两方面吧,一方面提高第三方存储的安全性。另一方面,将区块链中的指纹跟第三方存储的真实文件取出来后进行二次匹配,匹配成功才算是获取成功。
登录后可查看更多问答,登录/注册
兼顾区块链应用层和底层 进击区块链工程师
3.4k 6
2.0k 21
1.3k 18
1.2k 18
1.2k 16