如何通过单击XPage上的按钮将附件内容读入数组或字符串?

时间:2016-03-01 20:07:10

标签: javascript xmlhttprequest xpages

我有一个带有文件上传/下载控件的XPage,可以显示我的附件。我需要通过单击按钮将 第一个 文件附件(名称未知/随机)的内容读入字符串var或数组中。

我不确定XMLHttpRequests()是否可以在XPage上运行,或者是否有标准的XPages控件可以执行此操作?

我只需要阅读内容。 (用户不需要直接与附件交互(选择/保存/其他UI操作))。

2 个答案:

答案 0 :(得分:3)

你需要弄清楚"首先"意思是:最老的,先附加,先写字母?多米诺并不保证序列。您可以在evaluate语句中使用@AttachmentNames。然后,您可以使用该名称通过使用以下语法的休息调用直接从浏览器访问该附件:

http(s)://[yourserver]/[application.nsf]/[viewname|0]/[UNID| ViewKey]/$File/[AttachmentName]?Open

更多详情请见this blog entry

如果你想在服务器端处理它,那么你使用文档。getAttachment()。

答案 1 :(得分:0)

工作示例:

importPackage(java.net);
importPackage(java.io);

var valString:String = "";
var nrt:NotesRichTextItem=document1.getDocument().getFirstItem('Body');

if (nrt!=null){
    var eos:java.util.Vector = nrt.getEmbeddedObjects();
    if (!eos.isEmpty()) {
        var eo:NotesEmbeddedObject = eos.get(0);
        var inputReader:BufferedReader = new BufferedReader(new InputStreamReader(eo.getInputStream(), "UTF-16"));
        while ((inputLine = inputReader.readLine()) != null) {
            valString+=inputLine + "<br>";
        }
        if (inputReader != null){inputReader.close();}
        eo.recycle();
    }
}

return valString;