Sharepoint SPFile - Получить тип файла - PullRequest
0 голосов
/ 03 марта 2010

Я использую SPFile для отображения списка файлов и хочу отобразить тип файла в виде строки, например, PDF, Word, Excel и т. Д.

выглядит так: Файл ABC PDF ФайлDEF Excel

Я получил иконку обратно с помощью ListItem.File.IconUrl, ListItem - SPListItem

Но я бы хотел получить тип файла в качестве имени. Он должен работать с типом файла, чтобы можно было отображать правильное изображение, но я тоже хочу отобразить слова (для доступности)

Ответы [ 2 ]

1 голос
/ 03 марта 2010

Вы можете получить расширение из списка, как ListItem [SPBuiltInFieldId.DocIcon]

1 голос
/ 03 марта 2010

Вы можете просто взять атрибут «FileLeafRef», который содержит имя файла + локальный путь, создать из него объект System.IO.FileInfo и затем получить доступ к свойству .Extension:

System.IO.FileInfo inf = new System.IO.FileInfo("/images/files/something.gif");
Console.WriteLine(inf.Extension); //outputs .gif

Я полагаю, что не будет так просто найти подходящую программу для каждого расширения (вы говорите, что вам нужно "Excel", а не "xls". Поэтому, я думаю, самый простой способ - создать словарь известных расширений. как это:

System.Collections.Specialized.StringDictionary oDict = new System.Collections.Specialized.StringDictionary();
oDict.Add(".xls", "Excel");
oDict.Add(".xlsx", "Excel");
oDict.Add(".doc", "Word");

и затем:

oDict[inf.Extension]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...