Как получить тип файла в Sharepoint

Я пытаюсь загрузить документы из библиотеки "Документы" в 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 ответ

Решение

File_x0020_Type собственностью SP.ListItem ресурс может быть использован для этой цели.

В случае, если ваш запрос (кажется, ваш сценарий) возвращает файлы SP.FileCollection ресурс, тип файла может быть получен следующим образом:

/_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
Другие вопросы по тегам