我已经在一个节点上上传了一个jar文件。 如何下载附件。 下载附件时,我是否可以将附件保存在jar文件中?用户界面中将有一个下载按钮,单击附件后需要下载。在用户界面中,我将提供文件的哈希值。
答案 0 :(得分:0)
您使用CordaRPCOps.openAttachment()
方法。它将附件的哈希作为输入,并返回附件JAR的InputStream
。
这是一个简单的端点,可以下载附件作为输入流:
@GET
@Path("download-attachment")
fun downloadAttachment(@QueryParam("attachment_hash") attachmentHash: String): InputStream {
val secureHash = SecureHash.parse(attachmentHash)
return rpcOps.openAttachment(secureHash)
}
然后,您需要将输入流写为JAR文件。这是一个简单的帮助程序功能:
fun downloadJar(url: String) {
val inputStream = URL(url).openStream()
BufferedReader(InputStreamReader(inputStream)).use {
File("./downloaded_jar.jar").outputStream().use { outputStream ->
inputStream.copyTo(outputStream)
}
}
}