Sharepoint SPFile - 获取文件类型

时间:2010-03-03 11:35:39

标签: c# sharepoint-2007 accessibility

我正在使用SPFile显示文件列表,我希望以字符串形式显示文件类型,以及PDF,Word,Excel等。

看起来像: FileABC PDF FileDEF Excel

我使用“ListItem.File.IconUrl”获取了图标,ListItem是SPListItem

但我想将文件类型作为名称。它必须计算出文件类型,以便显示正确的图像,但我也要显示单词(可访问性)

2 个答案:

答案 0 :(得分: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 :(得分:1)

您可以从listitem获取扩展名为 列表项[SPBuiltInFieldId.DocIcon]