Xpages 如何使用xpage将文本文件写入特定文件夹
如何在项目文件夹中创建文本文件,我需要将此文件作为电子邮件附件发送。然后我需要删除这个文件Xpages 如何使用xpage将文本文件写入特定文件夹,xpages,lotus-notes,xpages-ssjs,ssjs,Xpages,Lotus Notes,Xpages Ssjs,Ssjs,如何在项目文件夹中创建文本文件,我需要将此文件作为电子邮件附件发送。然后我需要删除这个文件 var textBuffer="BEGIN:VCALENDAR\r\nVERSION:2.0\r\n...END:VEVENT\r\nEND:VCALENDAR"; file = new java.io.File("c:\\Notes\\sample.ics"); //Create the file if (file.createNewFile()){ print("File is created!
var textBuffer="BEGIN:VCALENDAR\r\nVERSION:2.0\r\n...END:VEVENT\r\nEND:VCALENDAR";
file = new java.io.File("c:\\Notes\\sample.ics");
//Create the file
if (file.createNewFile()){
print("File is created!");
}
else{
print("File already exists.");
}
//Write Content
writer = new java.io.FileOutputStream(file);
writer.write(textBuffer.getBytes());
writer.close();
var db:Database = session.getDatabase("server name", "database name", false);
var doc:NotesDocument = database.createDocument();
doc.appendItemValue("Form", "Memo");
var nMime:NotesMIMEEntity = doc.createMIMEEntity();
var mimeHeader:NotesMIMEHeader;
mimeHeader = nMime.createHeader("To");
mimeHeader.setHeaderVal("email id");
mimeHeader = nMime.createHeader("Subject");
mimeHeader.addValText("Test Email", "UTF-8");
var stream:NotesStream = session.createStream();
var pathname:string = "c:\\Notes\\sample.ics";
if (stream.open(pathname, "binary")) {
nMime.getContentAsBytes(stream);
stream.close();
}
nMime.setContentFromBytes(stream, "text/plain; charset=\"UTF-8\"",NotesMIMEEntity.ENC_NONE);
doc.send();
session.setConvertMIME(true);
执行此代码后,我收到一封邮件,但没有附件。请帮助我找出此代码中的错误。您的问题有两个可能的答案: a) “project folder”指的是本地计算机(运行浏览器的计算机)上的文件夹:为安全起见,任何Web服务器都不能指定下载位置。这是一种浏览器设置。那是为了安全。很容易损坏用户的工作站。 唯一的方法是控制浏览器-这可能适用于集成用户,但不适用于用户群 b) “项目文件夹”是服务器(运行Domino的机器)上的一个位置。在这里,您可以实例化一个FileOutputStream(Java对象)并执行相同的操作。SSJS可以使用Java类
如果你分享你为什么需要这个,可以提出一个更好的解决方案 您需要一种完全不同的方法: -检查Notes中的Mime类 -创建多部分mime文档 -将文本数据写入标记为附件的mime部分 不需要创建文件。另见此答案:
如果您坚持创建物理文件:您需要将其存储在服务器上
FileOutputStream
样式,因为服务器端附加功能无法访问您的本地文件系统到目前为止您尝试了什么?你在哪里被卡住了?我能够使用response.getOutputStream().write(textBuffer.getBytes())创建文件;方法,但我需要将此文件写入项目中的特定文件夹。我只需要使用ssjs在项目路径文件夹中创建一个文件。我是SSJS新手。什么是“项目文件夹”?它可以从Domino访问吗?为什么要在那里创建它,然后将其删除?如果您只是从其他地方复制n粘贴代码而不知道它的作用,这总是有问题的:确切的需要是将某些内容写入文本文件,并通过邮件将此文本文件作为附件发送。我们可以将文本文件存储在文档中吗?这是您对需求的看法。真正的方法是:创建一些可以通过电子邮件发送和接收的东西,并附带附件