asp.net System.IO.IOException

时间:2009-10-31 14:36:41

标签: asp.net

我正在尝试以编程方式构建文件夹中的文件列表,其中包含文件大小和修改日期等特定属性。

我可以返回文件名,但任何其他属性都会抛出错误:System.IO.IOException:文件名,目录名或卷标语法不正确。

我在这里缺少什么?

    private void BuildDocList()
    {
        var files = Directory.GetFiles(Server.MapPath(FilePath));

        foreach (var f in files)
        {
            var file = new FileInfo(FilePath + f);
            var fileItem = new ListItem();

            // this line works fine
            fileItem.Text = file.Name.Split('.')[0] + ", ";


            // this line causes the runtime error
            fileItem.Text = file.CreationTime.ToShortDateString();

            FileList.Items.Add(fileItem);
        }

    }

1 个答案:

答案 0 :(得分:1)

您尝试使用错误的文件名FileInfo - 您正在使用未映射的路径。你应该使用这样的东西:

string directory = Server.MapPath(FilePath);
string[] files = Directory.GetFiles(directory);

foreach (string f in files)
{
    FileInfo file = new FileInfo(Path.Combine(directory, f));
    // Now the properties should work.