首页 > 解决方案 > 如何在 Sharepoint 中获取文件的文件类型

问题描述

我正在尝试从 SharePoint 的文档库中加载文档,并且我希望能够从我的应用程序中按文件类型(Word Doc、Excel 工作表等)过滤它们。我已经弄清楚如何使用 获取文件类型的图标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;
            },  
        });
    }

标签: javascriptrestsharepoint-onlinedocument-library

解决方案


File_x0020_TypeSP.ListItem资源的财产可以用于此目的。

如果您的查询(似乎是您的场景)返回files SP.FileCollectionresource,则可以像这样检索文件类型:

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

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

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

推荐阅读