จะอัพโหลดไฟล์ แนบ และดาวน์โหลดใน Corda ได้อย่างไร?

ฉันได้ลองอัปโหลดและส่งไฟล์โดยใช้ลิงก์ต่อไปนี้ https://github.com/corda/corda/tree/release-M14

เมื่อฉันพยายามใช้มันในตัวอย่าง Cordaapp มันแสดงข้อผิดพลาดมากมาย มีตัวอย่างง่ายๆ ในการอัพโหลดไฟล์และแนบไฟล์หรือไม่? มีตัวอย่างง่ายๆ อื่น ๆ ที่จะอ้างอิงถึงสิ่งเดียวกันนี้หรือไม่?




คำตอบ (1)


ดูตัวอย่างบัญชีดำที่นี่

คุณสามารถอัปโหลดไฟล์แนบไปยังโหนดผ่าน HTTP:

<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 JAR</button>
</form>

หรือคุณสามารถอัปโหลดเอกสารแนบโดยใช้ไคลเอนต์ RPC:

val nodeAddress = parse(arg)
val rpcConnection = CordaRPCClient(nodeAddress).start("user1", "test")
val proxy = rpcConnection.proxy

val attachmentHash = uploadAttachment(proxy, JAR_PATH)

จากนั้นคุณเพิ่มไฟล์แนบใน TransactionBuilder ดังนี้:

val txBuilder = TransactionBuilder(notary)
    .addAttachment(attachmentHash)

ขึ้นอยู่กับคุณว่าคุณจะได้รับแฮชของไฟล์แนบที่ไหน คุณอาจส่งผ่านมันเป็นอาร์กิวเมนต์ไปยังโฟลว์ได้ เป็นต้น

person Joel    schedule 21.06.2018
comment
ขอบคุณมาก. จะส่งไฟล์แนบไปยังโหนดอื่นและดาวน์โหลดสิ่งที่แนบมาจากโหนดอื่นได้อย่างไร - person Ash; 21.06.2018
comment
หากไฟล์แนบถูกอ้างอิงโดยแฮชในธุรกรรมที่โหนด A ส่งไปยังโหนด B และโหนด B ไม่เคยเห็นไฟล์แนบที่สอดคล้องกับแฮชนั้น พวกเขาจะร้องขอจากโหนด A โดยอัตโนมัติและแคชไว้ในเครื่อง - person Joel; 21.06.2018
comment
เมื่อคุณพูดว่า cache it locally คุณหมายถึงว่ามันถูกเก็บไว้ในหน่วยความจำโดยโหนด B จนกว่ามันจะเสร็จสิ้นการประมวลผลธุรกรรมหรือคงอยู่ในฐานข้อมูลของโหนด B อย่างถาวร - person Suhas; 17.11.2018
comment
สิ่งที่แนบมาจะคงอยู่อย่างถาวรในฐานข้อมูลของโหนดในรูปแบบหยด - person Joel; 19.11.2018