使用JSOM从Sharepoint 2013中的共享文档中获取文件内容

时间:2016-10-06 06:47:55

标签: javascript jquery sharepoint-2013 sharepoint-jsom

我在sharepoint 2013中的共享文档中有excel文件。我想将该文件的内容存储在数组变量中,并将其发送到服务器端进行处理。

我正在加载客户端上下文,但我想获取文件中存在的记录。我在SharedDocument / test文件夹中有excel文件

ExecuteOrDelayUntilScriptLoaded(viewfiles, "sp.js");
function viewfiles(){ 
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle('Documents');
var query = SP.CamlQuery.createAllItemsQuery();
query.set_folderServerRelativeUrl('http://win-mjphj36pn7d:55555/sites/Demo/Shared%20Documents/test');
allItems = list.getItems(query);
context.load(allItems, 'Include(Title, ContentType, File)');
context.executeQueryAsync(
Function.createDelegate(this, function (sender, args) {
                     var fileUrls = ""; var fileUrls = "";
                      var ListEnumerator = this.allItems.getEnumerator();
                       while(ListEnumerator.moveNext())
                       {
                        var currentItem = ListEnumerator.get_current();
                        var _contentType = currentItem.get_contentType();
                         if(_contentType.get_name() != "Folder")
                           {
                            var File = currentItem.get_file();
                            if(File != null)
                              {
                               fileUrls += File.get_serverRelativeUrl() + '\n';
                              }
                           }
                       }
                      alert(fileUrls);
                }),

Function.createDelegate(this, function (sender, args) {
          alert("failed. Message:" + args.get_message());                    
             })
            );

请建议我如何以数组var或string

获取文件中的所有数据

1 个答案:

答案 0 :(得分:0)

显然由于某种原因,CSOM中的openbinary方法在JSOM中不可用(或者至少没有记录)。
所以我建议您首先在浏览器的上下文中尝试在控制台中查看它是否在这里。其他见到REST API documentation(第二个例子)来检索二进制值 以下是同一方面的jsom documentationCSOM documentation