java命名空间javax.xml.bind.attachment类attachmentmarshaller的类成员方法:
attachmentmarshaller定义及介绍
本文导语:
attachmentmarshaller
public attachmentmarshaller()
addmtomattachment
public abstract string addmtomattachment(datahandler data,
string elementnamespace,
string elementlocalname)
将用...
attachmentmarshaller
public attachmentmarshaller()
addmtomattachment
public abstract string addmtomattachment(datahandler data,
string elementnamespace,
string elementlocalname)
将用于优化二进制存储的 mime 内容 data
作为附件。
正如 creating xop packages 中的步骤 3 所述,当 isxoppackage()
为 true
时,jaxb 编组过程针对每个数据类型为 "base64binary" 的元素调用此方法。
方法实现程序决定是将 data
单独附加还是作为 base64binary 数据内嵌。如果实现选择将二进制数据存储作为 mime 的一部分进行优化,则实现负责将 data
附加到基于 mime 的包中,然后分配一个唯一的内容 id(即 cid),用来标识 mime 消息中的 mime 部分。此方法返回 cid,cid 使 jaxb 编组程序能够编组一个引用该 cid 的 xop 元素,而不是编组二进制数据。当该方法返回 null 时,jaxb 编组程序将 data
作为 base64binary 数据内嵌。
此方法的调用程序要求满足以下约束条件。如果包含 data
的元素 infoset 项具有属性 xmime:contenttype
,或者代表 data
的 jaxb 属性/字段使用已知的 mime 类型进行注解,则 data.getcontenttype()
应该被设置为 mime 类型。
elementnamespace
和 elementlocalname
参数提供包含二进制数据的上下文。基于 mime 的包处理器可以使用此信息,以确定二进制数据应该被内嵌还是作为附件优化。
- 参数:
data
- 表示将被附加的数据。必须为非 null。elementnamespace
- 封装 base64binary 数据的元素名称空间 uri。可以为空但不能为 null。elementlocalname
- 元素的本地名称。始终是非 null 的有效字符串。
- 返回:
- 一个有效的内容 id uri(参见 rfc 2387),它标识包含
data
的附件。如果没有添加附件,而是应该内嵌在消息中,则返回 null。 - 另请参见:
- xml-binary optimized packaging,
describing media content of binary data in xml