我需要將由XAPP上的Apache POI生成的文件附加到便籤文檔中。我一直在試圖實現一個解決方案,建議通過克努特赫爾曼:將通過POI生成的文件附加到便籤文檔中
var temp = java.lang.System.getProperty("java.io.tmpdir");
var file = new java.io.File(temp + "YourFile.docx");
var fileOutputStream = new java.io.FileOutputStream(file);
xwpfdocument.write(fileOutputStream);
fileOutputStream.close();
var doc:NotesDocument = currentDocument.getDocument();
var rdoc:NotesDocument = database.createDocument();
rdoc.appendItemValue("Form", "frmRespTempl");
rdoc.appendItemValue("Subject", "Embedded Word Document");
var rtitem:RichTextItem = rdoc.createRichTextItem("Body");
rtitem.embedObject(lotus.domino.local.EmbeddedObject.EMBED_ATTACHMENT,"",file.getAbsolutePath(), null);
rdoc.makeResponse(doc);
rdoc.save();
POI for XPages - save Word document as attachment in rich text field
然而,爲了使xwpfdocument.write(FileOutputStream中)工作時,Java策略文件需要修改,這是安全風險。
我沒有運氣使Java解決方案工作。有沒有其他方法可以使這個代碼工作?修改java策略的風險究竟是什麼?
感謝
您可能想要採取不同的方法並將您的文檔存儲爲mime。可以使用流創建MIME部分,而不需要臨時文件 – stwissel
謝謝。這聽起來像我想要這樣做的方式。有沒有這方面的文件? – user4372614
嗨stwissel,我已經習慣了以下代碼使用流附加文件。該示例僅適用於已存儲在服務器上的文件。我怎樣才能使這個拾起poi的輸出........ var stream:NotesStream = session.createStream(); session.setConvertMIME(false); var doc:NotesDocument = database.createDocument(); doc.replaceItemValue(「Form」,「Provider」); – user4372614