当前位置: 首页 > 知识库问答 >
问题:

Corda附件上载

蒋鹏鹍
2023-03-14
@Path("upload")
    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response uploadFile(@DefaultValue("") @FormDataParam("tags") String tags,
                               @FormDataParam("file") InputStream file,
                               @FormDataParam("file") FormDataContentDisposition fileDisposition) {

        String fileName = fileDisposition.getFileName();
        saveFile(file, fileName);
        String fileDetails = "File saved at " + UPLOAD_FOLDER + " " + fileName + " with tags "+ tags;
        System.out.println(fileDetails);
        return Response.ok(fileDetails).build(); 
    }

    private void saveFile(InputStream file, String name) {
        try {
            /* Change directory path */
            java.nio.file.Path path = FileSystems.getDefault().getPath(UPLOAD_FOLDER + name);
            /* Save InputStream as file */
            Files.copy(file, path);
        } catch (IOException ie) {
            ie.printStackTrace();
        }
    }

无论我找到什么链接,他们都在谈论更改web.xml或添加AppCong,我不确定在Corda示例项目中如何做到这一点。

小队请帮忙。

共有1个答案

班凌
2023-03-14

内置节点webserver有一个用于上载附件的默认endpoint/upload/*。这个endpoint是开箱即用的,不需要在API中添加。通过使用编码类型multipart/form-data向此endpoint发出POST请求,可以上载附件。

例如:

<form action="/upload/attachment" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <input type="file" name="jar" class="form-control">
    </div>
    <br>
    <button type="submit" class="btn btn-default">Upload blacklist</button>
</form>

您不能为上载附件提供自己的附加终结点。

 类似资料:
  • 我尝试使用uploadAttachemnt方法上传zip文件,得到了一个secureHash作为输出。我试图下载相同的附件,使用hash作为openAttachmnet方法的输入,得到了一个InputStream。当我试图使用BuffeReader读取inputStream的内容时,它被加密了。我意识到我必须解压缩文件并读取它,所以我得到了这个包“import java.util.zip.ZipE

  • 这是我能够产生问题的代码。

  • “使用附件”页面声明: 附件是通过哈希从事务中引用的zip/jar文件,但不包含在事务本身中。 但是,API:Contract Constraints页面声明: 但是,在签出HashAttachment代码时,我没有看到它包含了契约Jar文件的内部内容。 我的假设是,我们不是在与交易一起转让合同罐子。所发生的情况可以描述如下: 在节点启动期间,Corda扫描所有CorDapps,并将包含契约类的J

  • Corda 是一个分布式账本平台,用于记录,管理和自动化业务合作伙伴之间的法律协议。由世界上最大的金融机构设计,并且在多个行业都有应用。它针对分散式应用程序面临的隐私和可扩展性挑战提供了独特的响应。 特点: 用Java和其他JVM语言编写的智能合约 流程框架来管理参与者之间的沟通和协商 点对点网络节点 “公证”基础设施来验证交易的唯一性和排序 启用称为CorDapps的分布式应用程序的开发和部署 用Kotlin编写,基于JVM

  • 如果我说一个事务B只有在它对以前的事务a有一些引用时才是有效的,那么我可以在事务B的附件中包含事务a的状态属性/合同代码吗?如何引用此附件,从何处检索?交易B的参与节点是否可以查看交易A的内容进行验证?