如何在Sharepoint中获取文件的文件类型

时间:2018-07-17 19:01:53

标签: javascript rest sharepoint-online document-library

我正在尝试从SharePoint中的文档库中加载文档,并且希望能够通过我的应用程序中的文件类型(Word Doc,Excel Sheet等)进行过滤。我已经弄清楚了如何使用mapToIcon获取文件类型的图标,但是似乎找不到任何地方可以获取文件类型的图标。

是否有任何函数或API调用来获取文件的文件类型?我希望不必根据文件扩展名对每种类型进行硬编码,但我可能需要这样做。

这是我的一些代码供参考

// data returned from an ajax call to get all documents
var results = data.d.results;

for(var i = 0; i < results.length; i++){
    // get the name of the document
    var name = results[i].Name;

    // retrieve the icon for the file type through an ajax call
    var icon;
    $.ajax({
            url: siteUrl + "/_api/web/maptoicon(filename='" + name + "',progid='',size=0)"
            /*headers*/,
            success: function(data){
                // get the icon
                icon = data.d.MapToIcon;
            },  
        });
    }

1 个答案:

答案 0 :(得分:1)

为此,可以利用SP.ListItem resource

File_x0020_Type属性。

如果您的查询(似乎是您的情况)返回文件 SP.FileCollection resource,则可以这样检索文件类型

/_api/web/getfolderbyserverrelativeurl('<folder url>')/Files?$select=ListItemAllFields/File_x0020_Type&$expand=ListItemAllFields

如果您的查询返回列表项 SP.ListItemCollection resource,则可以这样检索文件类型

/_api/web/lists/getbytitle('<list title>')/items?$select=File_x0020_Type