我正在使用SPFile显示文件列表,我希望以字符串形式显示文件类型,以及PDF,Word,Excel等。
看起来像: FileABC PDF FileDEF Excel
我使用“ListItem.File.IconUrl”获取了图标,ListItem是SPListItem
但我想将文件类型作为名称。它必须计算出文件类型,以便显示正确的图像,但我也要显示单词(可访问性)
答案 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]