Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript以编程方式访问sharepoint中文档集中的文件_Javascript_Sharepoint - Fatal编程技术网

使用Javascript以编程方式访问sharepoint中文档集中的文件

使用Javascript以编程方式访问sharepoint中文档集中的文件,javascript,sharepoint,Javascript,Sharepoint,我想访问文档库中特定文档集中的文件 到目前为止,我能够使用JSOM获得特定的文档集名称和ID,如下所示。 如何读取文档集中的所有文件 ExecuteOrderLayUntilScriptLoaded(main函数,“sp.js”); 函数mainformation(){ var clientContext=new SP.clientContext.get_current(); var oList=clientContext.get_web().get_lists().getByTitle('

我想访问文档库中特定文档集中的文件

到目前为止,我能够使用JSOM获得特定的文档集名称和ID,如下所示。 如何读取文档集中的所有文件


ExecuteOrderLayUntilScriptLoaded(main函数,“sp.js”);
函数mainformation(){
var clientContext=new SP.clientContext.get_current();
var oList=clientContext.get_web().get_lists().getByTitle('Planner Session');
var camlQuery=new SP.camlQuery();//启动查询对象
camlQuery.set_viewXml('31');
this.collListItem=oList.getItems(camlQuery);
加载(collListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this,this.onquerySucceed),
Function.createDelegate(this,this.onQueryFailed)
);
}
函数onquerysucceed(发送方,参数){
var DocSet=“”;
var listItemEnum=collListItem.getEnumerator();
while(listItemEnum.moveNext()){
var oListItem=listItemEnum.get_current();
DocSet+='\n\nID:'+oListItem.get_id()++'\n名称:'+oListItem.get_项('FileLeafRef');
}
//在这里,我想获取文档集中的文件
警报(DocSet.toString());
}
函数onQueryFailed(发送方,参数){
警报('请求失败。'+args.get_message()+
'\n'+args.get_stackTrace());
}
​
如何通过SharePoint CSOM获取文档集的文件 假设以下结构:

Documents (library)
    |
    2013 (Document set)
基于查询的方法

以下示例演示如何使用返回位于文档集中的文件:

要点:

  • 用于返回 仅位于特定url下的文件
用法

var listTitle = 'Documents';
var docSetUrl = '/Documents/2013';  
getListItems(listTitle,docSetUrl, 
     function(items){
        for(var i = 0; i < items.get_count();i++) {
            var file = items.get_item(i).get_file();
            console.log(file.get_title());
        }
     },
     function logError(sender,args) 
     {
        console.log(args.get_message());
     });
用法


var docSetUrl='/Documents/2013'// 请查找完成以下操作的完整代码
1.根据我的条件获取所需的文档集
2.通过检查“自定义”列中的值,获取该特定文档集中的所有文件


ExecuteOrderLayUntilScriptLoaded(main函数,“sp.js”);
函数mainformation(){
var currentListID=getQueryStringValue(“列表”);
var clientContext=new SP.clientContext.get_current();
this.ListId=“{”+currentListID+“}”;
var oList=clientContext.get_web().get_lists().getById(ListId);
var camlQuery=new SP.camlQuery();//启动查询对象
var currentDocSetID=getQueryStringValue(“ID”);
camlQuery.set_viewXml(“”+currentDocSetID+'1');
this.collListItem=oList.getItems(camlQuery);
加载(collListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this,this.onquerySucceed),
Function.createDelegate(this,this.onQueryFailed)
);
}
函数onquerysucceed(发送方,参数){
var DocSet=“”;
var listItemEnum=collListItem.getEnumerator();
while(listItemEnum.moveNext()){
var oListItem=listItemEnum.get_current();
DocSet+=oListItem.get_项('FileLeafRef');
}
//在这里,我想获取文档集中的文件
//警报(DocSet.toString());
var fsoType=oListItem.get_fileSystemObjectType();
if(oListItem.FileSystemObjectType==SP.FileSystemObjectType.Folder)
{
//var folderUrl=“/”+listName+“/”+DocSet.toString();
var RawFolderUrl=getQueryStringValue(“根文件夹”);
var pos=RawFolderUrl.lastIndexOf('/');
var folderUrl=RawFolderUrl.substring(0,pos)+“/”+DocSet.toString();
GetFilesFromFolder(folderUrl);
}
}
蒜状变种;
函数GetFileFromFolder(folderUrl)
{
var context=new SP.ClientContext.get_current();
var web=context.get_web();
var list=web.get_lists().getById(ListId);
//使用createAllItemsQuery也可以获取子文件夹中的项目。否则,请使用new SP.CamlQuery()仅从单个文件夹获取项目
var query=SP.CamlQuery.createAllItemsQuery();
query.set_folderServerRelativeUrl(folderUrl);
allItems=list.getItems(查询);
load(allItems,“Include(File,FileSystemObjectType,Document\u x0020\u Type,Title)”;
executeQueryAsync(Function.createDelegate(this,this.OnSuccess),Function.createDelegate(this,this.OnFailure));
}
函数OnSuccess()
{                                              
var listItemEnumerator=allItems.getEnumerator();
while(listItemEnumerator.moveNext())
{
var currentItem=listItemEnumerator.get_current();
如果(currentItem.get_fileSystemObjectType()=“0”)
{
var file=currentItem.get_file();
if(file!=null&¤tItem.get_item(“Document_x0020_Type”)=“03.Minutes”)
{
//警报('File Name:'+File.get_Name()+'\n'+'文件Url:'+File.get_serverRelativeUrl());
//警报(currentItem.get_项目(“标题”);
var link=document.getElementById(“prvMinutes”);
link.href=file.get_serverRelativeUrl();
//link.innerHTML=currentItem.get_项目(“标题”);
link.innerHTML=file.get_name();
}
}
}                                              
}
函数OnFailure(发送方,参数){
警报(“失败。消息:+args.get_Message());
}
函数onQueryFailed(发送方,参数){
警报('请求失败。'+args.get_message()+
'\n'+args.get_stackTrace());
}
功能性槲皮素
var listTitle = 'Documents';
var docSetUrl = '/Documents/2013';  
getListItems(listTitle,docSetUrl, 
     function(items){
        for(var i = 0; i < items.get_count();i++) {
            var file = items.get_item(i).get_file();
            console.log(file.get_title());
        }
     },
     function logError(sender,args) 
     {
        console.log(args.get_message());
     });
function getFiles(folderUrl,success,error)
{
    var ctx = SP.ClientContext.get_current();
    var files = ctx.get_web().getFolderByServerRelativeUrl(folderUrl).get_files();
    ctx.load(files);
    ctx.executeQueryAsync(
      function() {
          success(files); 
      },
      error);
}
var docSetUrl = '/Documents/2013';  //<-- '2013'
getFiles(docSetUrl, 
     function(files){
        for(var i = 0; i < files.get_count();i++) {
            var file = files.get_item(i);
            console.log(file.get_title());
        }
     },
     function logError(sender,args) 
     {
        console.log(args.get_message());
     });