使用SSJS将文件附加到备注文档

时间:2012-05-02 06:33:56

标签: lotus-notes xpages lotus-domino lotus xpages-ssjs

我正在尝试将文件附加到备注文档,但我收到以下错误。

 var doc:NotesDocument = DS_EmpDetails.getDocument();
 var rtitem:NotesRichTextItem = doc.createRichTextItem("AttachmentField");
 var Attachment:String = "C:\\Users\\karthick_m\\Desktop\\PDFIcon.jpg"; 
 var emobj:NotesEmbeddedObject = rtitem.embedObject(NotesEmbeddedObject.EMBED_ATTACHMENT, "", Attachment, null);
 doc.save();

我收到以下错误..

 [TypeError] Exception occurred calling method NotesRichTextItem.embedObject(number, string, string, string) null

提前致谢...

我的堆栈跟踪 堆栈跟踪

javax.faces.FacesException:执行JavaScript动作表达式时出错     com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102)     com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)     com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)     com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)     com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:206)     com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:189)     com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)     com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)     com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)     com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)     com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1140)     com.ibm.designer.runtime.domino.adapter.ComponentModule $ AdapterInvoker.invokeServlet(ComponentModule.java:803)     com.ibm.designer.runtime.domino.adapter.ComponentModule $ ServletInvoker.doService(ComponentModule.java:758)     com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)     com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1124)     com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:513)     com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:342)     com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)     com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)     com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291) com.ibm.xsp.exception.EvaluationExceptionEx:执行JavaScript动作表达式时出错     com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:126)     com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60)     javax.faces.component.UICommand.broadcast(UICommand.java:324)     com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:365)     com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)     com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1490)     javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307)     javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)     com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)     com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)     com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)     com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)     com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:206)     com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:189)     com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)     com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)     com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)

2 个答案:

答案 0 :(得分:3)

使用上传控件。您使用SSJS代码的方式仅适用于已在服务器上的文件 - 您没有上传它。

答案 1 :(得分:0)

上面的错误消息可能有误,但它说明原因是'rtitem'变量为空。你在代码中检查过这个吗?

if (!rtitem) throw new java.lang.Exception("Uh oh!");