请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答 回答被采纳积分+3

1回答

自游蜗牛 2019-06-22 17:27:12

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

我们从两方面说:

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

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


祝你学习愉快。

0 回复 有任何疑惑可以回复我~
  • 你好老师, 大的文件如果区块链中只存一个标识, 实际文件存在第三方的话,假设是一些安全性要求高的文件  会不会不太安全呢?
    另外就是, 如果存在 ipfs 会不会数据安全性的问题呢?
    回复 有任何疑惑可以回复我~ 2019-11-22 16:17:28
  • 两方面吧,一方面提高第三方存储的安全性。另一方面,将区块链中的指纹跟第三方存储的真实文件取出来后进行二次匹配,匹配成功才算是获取成功。
    回复 有任何疑惑可以回复我~ 2019-11-22 16:48:30
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信