使用以下API将文档存储在Corda中:
proxy.uploadAttachmentWithMetadata(pathname, uploader, filename)
以下API用于获取AttachmentId的列表
queryAttachments(Query: AttachmentQueryCriteria, sorting: AttachmentSort?) List<Atta
chmentId>
有什么方法可以知道元数据,例如上传器和文件名?上面的调用仅返回ID的列表,但没有元数据。
答案 0 :(得分:0)
您可以使用任何名称创建一个zip文件并上传。 并且,在下载时,您可以提取zip文件并获取zip条目文件名或任何元数据。
例如:
SecureHash hash = SecureHash.parse(org.apache.commons.lang3.StringUtils.substringAfter(reqPath,"attachments/"));
InputStream attachment = proxy.openAttachment(hash);//uploaded hash
String subPath = StringUtils.substringAfter(reqPath,"/").toLowerCase();
resp.setContentType(MediaType.APPLICATION_OCTET_STREAM.toString());
ZipInputStream zin = new ZipInputStream(attachment);
ZipEntry zipEntry = zin.getNextEntry();
logger.info("file name:" + zipEntry.getName());
resp.addHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename="+ zipEntry.getName());
byte[] bytes = IOUtils.toByteArray(zin);
resp.getOutputStream().write(bytes);
基本上,corda仅为您提供以哈希作为文件名的zip文件。在Api端,您需要执行上述步骤来获取文件名。 `