关于使用fabric存储较大图片的若干问题

来源:8-4 展望未来

慕圣6489768

2019-06-20

目的:使用fabric存储图片
问题:fabric目前的块大小貌似不支持图片,想咨询下老师如何实现使用fabric对图片进行存储,fabric对于上传的大文件有自动分块吗?如果分块后如何对文件进行获取或者查询?

写回答

1回答

自游蜗牛

2019-06-22

亲,你好。最近比较忙,不好意思。

我们从两方面说:

1、图片在程序中的表示一般是二进制流,也就是[]byte,如果想把图片存储在fabric中,可以将图片序列化后存入某个能标识这个图片的一个key中,通过invoke交易提交到区块链网络。fabric对大文件是不会分块的。这种情况下,我们可以通过query交易查询图片。

2、因为区块链的数据整合方式,从根源上区块链就不适合存储大文件,fabric也不例外。一般我们推荐的做法是把图片等大文件存储在第三方,然后将图片的标识存储到链上。第三方我们可以是云平台,比如七牛云或者自己服务器。但是区块链的通用解决方案是存储到ipfs中。图片的标识可以是图片在第三方平台的访问地址。也可以是图片的md5编码,只要我们能通过这个标识在第三方平台找到相应的源图片就行。这种方式,查询图片的方法就是先通过query交易查询图片标识,然后通过标识去第三方平台查询真正的图片。


祝你学习愉快。

0
2
自游蜗牛
回复
慕田峪4211889
两方面吧,一方面提高第三方存储的安全性。另一方面,将区块链中的指纹跟第三方存储的真实文件取出来后进行二次匹配,匹配成功才算是获取成功。
2019-11-22
共2条回复

Hyperledger Fabric实战联盟链-企业端区块链原理精讲

兼顾区块链应用层和底层 进击区块链工程师

787 学习 · 564 问题

查看课程