首页 > 解决方案 > Hyperledger Composer:访问本地系统上的文件

问题描述

我想从本地系统访问文件,以便我可以将它们上传到云端并将链接存储在区块链上。有没有办法通过 Hyperledger Composer 中的 .js 脚本文件访问文件?

标签: javascriptfile-uploadhyperledgerhyperledger-composer

解决方案


所以从技术上讲,这是一个节点问题(用于文件上传),并且在语义上是一个建模问题。首先,这是(从 Composer 的角度来看)从“客户端”端执行的任务,并且编码的解决方案“属于”这里。如果您的意思是(即与 Hyperledger Composer 业务网络交互)如何在业务网络中访问和存储为数据(字符串) - 下面的答案将提供更多详细信息。其他人可能会回答“云”存储方面的问题。您始终可以在区块链上存储文件的链接(以及文件的哈希并将其作为 URL / 链接的一部分提供),因此它可以引用云存储的文件。

如果存储内容是您的目标,使用 Javascript,您可以使用readFileSync并转换为字符串,例如。 fs.readFileSync(‘yourFile).toString('base64'); - you should be able to convert the image to a代码中的 Base64` 字符串。您可以为您选择的建模资产类型等定义“字符串” - 即在已部署的 Hyperledger Composer 业务网络中托管它的字符串字段。理论是,一旦它是一个字符串,它就可以像任何其他字段一样在业务网络上更新(作为交易,这是智能合约/“链码”的一部分)。

这些链接在这方面也可能有所帮助:

node.js fs 库中的 readFileSync 可以从文本文件中加载数组吗?

图像文件、PDF:-> https://www.thepolyglotdeveloper.com/2016/02/convert-an-uploaded-image-to-a-base64-string-in-node-js/

与上述类似的另一种类型:-> https://belltane.wordpress.com/2017/03/27/storing-images-in-hyperledger-fabric-blockchain/


推荐阅读