我有一个包含两个附件的注释文档。attachFile 和 attachFile_1。在我将 pdf 上传到 attachFile_1 后,如果该项目未能通过用户的手动验证,我想删除该项目。我有这样的项目确实删除但当我打开文档属性时文档仍然保留 $FILE 属性。
请参阅下面的代码。
Xpages 代码
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.resources>
<xp:script src="/scriptsFile.jss" clientSide="false"></xp:script>
</xp:this.resources>
<xp:panel id="pnlDocData">
<xp:this.data>
<xp:dominoDocument var="document1" formName="frmA" action="openDocument"
documentId="#{javascript:sessionScope.id}" scope="request">
</xp:dominoDocument>
<xp:table style="width:99%">
<xp:tr>
<xp:td align="center" valign="middle">
<xp:label id="label1" value="Verify Client Submission"></xp:label>
</xp:td>
<xp:td>
<xp:fileDownload rows="30" id="fileDownload1" displayLastModified="false" value="#{document1.attachFile_1}">
</xp:fileDownload>
</xp:td>
<xp:td>
<xp:button value="Decline" id="button">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete" id="eventHandler7">
<xp:this.action><![CDATA[#{javascript:decline()}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:td>
</xp:tr>
</xp:table>
</xp:panel>
</xp:view>
Javascript 文件
function decline()
{
var doc:NotesDocument = document1.getDocument();
doc.replaceItemValue("attachFile_1", null);
var item:NotesItem = doc.getFirstItem("attachFile_1");
item.remove();
doc.save();
}
当我运行下面的代码时,附件大小仍然为 2,而我应该得到大小为 1。
var doc:NotesDocument = database.getDocumentByUNID(sessionScope.id);
var attachments:java.util.Vector = session.evaluate("@AttachmentNames", doc);
print(attachments.size());