关于使用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交易查询图片标识,然后通过标识去第三方平台查询真正的图片。
祝你学习愉快。
022019-11-22
相似问题