2010-03-03 2 views
0

Я использую SPFILE, чтобы отобразить список файлов, и я хочу, чтобы отобразить тип файла, как строка, так PDF, Word, Excel и т.д.Sharepoint SPFILE - Получить Тип файла

Похоже: FileABC PDF FileDEF Excel

Я получил значок обратно с помощью «ListItem.File.IconUrl», ListItem является SPListItem

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

ответ

1

Вы можете просто взять атрибут «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] 
1

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

Смежные вопросы