尝试使用rpc客户端从Corda节点下载附件:
@GetMapping("/download/{hash}")
fun download(@PathVariable("hash") hash : String) : ResponseEntity<Any> {
return try {
val input = SecureHash.parse(hash)
val file = ZipInputStream(rpc.proxy.openAttachment(input))
ResponseEntity.status(HttpStatus.OK).body(file)
}catch (e: Exception) {
ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.message)
}
}
上述代码的输出是:
{
nextEntry: {
name: "11.c",
crc: 2689263033,
size: 675,
method: 8,
extra: "VVQJAAN22XNb2EuCW3V4CwABBOgDAAAE6AMAAA==",
comment: null,
time: 1534318966000,
lastAccessTime: { },
creationTime: null,
compressedSize: 332,
directory: false,
lastModifiedTime: { }
}
}
但是我找不到任何下载的zip文件,如果下载了我不知道在哪个目录中,则zip文件中有一个pdf文件,我想在本地下载并打开它。
答案 0 :(得分:1)
openAttachment
返回输入流,而不是导致将附件下载到您节点上的某个位置。
您需要获取此输入流并将其保存为JAR文件,然后可以将其解压缩以访问PDF。