好的,我正在使用Java代理循环并将许多Base64字符串转换为它们所代表的图像。我在设置headerVal时遇到问题。下面是代码块。记录显示我正在获取身体,因为它已经是MIMEEntity,但即使我认为我创建了标题,(两次)它不是他们的任何时间 - 所以我说标题的两行都是空打印。我终于在header.setHeaderVal(“image / png”)行上得到一个空指针异常。有人可以告诉我我在这里失踪了吗?
干杯, 布莱恩
MIMEEntity body;
if(doc.hasItem("body")){
System.out.println("has MIME body");
body = doc.getMIMEEntity("body");
} else {
System.out.println("before create MIME body");
body = doc.createMIMEEntity();
}
if(body == null){
body = doc.createMIMEEntity();
System.out.println("body was null");
}
System.out.println("after body item");
allObjects.addElement(body);
if (body == null){
System.out.println("hmm, body is null");
}
System.out.println("before header");
//MIMEHeader header = null;
MIMEHeader header = body.createHeader("Content-Type");
System.out.println("after header");
if(header == null ){
System.out.println("header was null???");
header = body.createHeader("Content-Type");
System.out.println("after header null create");
}
allObjects.addElement(header);
if(header == null ){
System.out.println("header was null AGAIN???");
header = body.createHeader("Content-Type");
System.out.println("after header null create AGAIN");
}
System.out.println("after header add object");
header.setHeaderVal("image/png");
答案 0 :(得分:2)
您是否错过session.setConvertMIME(false)
?
以下是Designer帮助示例中的部分:
// Do not convert MIME to rich text
session.setConvertMIME(false);
Database db = agentContext.getCurrentDatabase();
Document doc = db.createDocument();
// Create parent entity
doc.replaceItemValue("Form", "Memo");
MIMEEntity body = doc.createMIMEEntity();
MIMEHeader header = body.createHeader("Content-Type");
header.setHeaderVal("multipart/mixed");
答案 1 :(得分:0)
除了添加上述setConvertMime方法之外,我唯一能找到的是createHeader
方法的文档说明:
如果标头的创建超过已知,则此方法返回Nothing 同名标题的限制。
我想如果您之前在代码中设置了Content-Type,可能会发生这种情况?