Lotus notes 使用SSJS将文件附加到notes文档

Lotus notes 使用SSJS将文件附加到notes文档,lotus-notes,xpages,lotus-domino,lotus,xpages-ssjs,Lotus Notes,Xpages,Lotus Domino,Lotus,Xpages Ssjs,我试图将一个文件附加到notes文档,但出现以下错误 var doc:NotesDocument = DS_EmpDetails.getDocument(); var rtitem:NotesRichTextItem = doc.createRichTextItem("AttachmentField"); var Attachment:String = "C:\\Users\\karthick_m\\Desktop\\PDFIcon.jpg"; var emobj:NotesEmbed

我试图将一个文件附加到notes文档,但出现以下错误

 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)

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

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

上面的错误消息可能是错误的,但它指出原因是“rtitem”变量为null。你在代码中检查过这个吗

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

上面的错误消息可能是错误的,但它指出原因是“rtitem”变量为null。你在代码中检查过这个吗

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

请将stacktraceis文件中的5-10行粘贴到服务器上?SSJS在服务器上运行,所以您要附加的文件必须在服务器上可以访问-根据路径的“users\…”部分,似乎您只有客户端上的文件。@FrantisekKossuth:我的文件在客户端计算机(本地桌面)上。我通过点击浏览器中的按钮来调用这个ssjs。由于在ssjs代码中找不到该文件,因此引发了错误。您是在运行本地服务器还是XPage在Notes客户端上运行?@SvenHasselbach:我没有在本地服务器上运行,XPage也没有在Notes客户端上运行。我是通过网络浏览器预览的(例如Chrome,而不是客户端)。我想通过单击浏览器中的按钮将当前计算机中的文件附加到notes文档中。我知道文件的路径。所以我尝试使用SSJS连接。由于我不想在Xpage中使用FileUpload控件,请将stacktraceis文件中的5-10行粘贴到服务器上?SSJS在服务器上运行,所以您要附加的文件必须在服务器上可以访问-根据路径的“users\…”部分,似乎您只有客户端上的文件。@FrantisekKossuth:我的文件在客户端计算机(本地桌面)上。我通过点击浏览器中的按钮来调用这个ssjs。由于在ssjs代码中找不到该文件,因此引发了错误。您是在运行本地服务器还是XPage在Notes客户端上运行?@SvenHasselbach:我没有在本地服务器上运行,XPage也没有在Notes客户端上运行。我是通过网络浏览器预览的(例如Chrome,而不是客户端)。我想通过单击浏览器中的按钮将当前计算机中的文件附加到notes文档中。我知道文件的路径。所以我尝试使用SSJS连接。其中,因为我不想在Xpage中使用FileUpload控件。在这种情况下,不需要上载文件。也许你不想,但需要上载文件。它怎么会出现在文档中呢?XPage在浏览器中以预览模式运行。如果你