文件名没有Directory.GetFiles的绝对路径

时间:2013-03-15 08:06:43

标签: asp.net directory

string[] arrVideos = Directory.GetFiles(MapPath("~\\video\\"));

ddlVideos.DataSource = arrVideos;
ddlVideos.DataBind();

输出下拉列表ddlVideos:

C:\video\movie.mp4

但我希望这是输出:

movie.mp4

1 个答案:

答案 0 :(得分:3)

您可以使用Path.GetFileName摆脱完整路径:

var arrVideos = Directory.GetFiles(MapPath("~\\video\\"));

var withExtension = arrVideos.Select(p => Path.GetFileName(p));
var withoutExtension = arrVideos.Select(p => Path.GetFileNameWithoutExtension(p));

旁注:您可以省略ToArray以避免将整个列表重新复制到新数组中。 Select扩展方法会返回IEnumerable<String>,我认为这对于ddlVideos是合适的。