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

1

Я пытаюсь загрузить документы из библиотеки документов в 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;
            },  
        });
    }
Теги:
rest
sharepoint-online

1 ответ

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
  • 1
    Спасибо! Ваш первый ответ тот, который работал для меня. Я надеялся, что это вернет нечто большее, чем просто .docx, ну да ладно. Ваш ответ был правильным

Ещё вопросы

Сообщество Overcoder
Наверх
Меню