如题

解决方案 »

  1.   

    什么是合法的文件名?
    是不是就是存在的既是合法的?
    File.Exist(fileName);就可以。
      

  2.   

    楼上是判断了那个文件存不存在,win32下的文件名字不能包含以下字符/\:*?"<>|,其他的都行
      

  3.   

    如果按照   x355(有点凉) 兄台讲的格式,不知如此可以么:
    bool 是否匹配 =  Regex.IsMatch(strIn, @"^([^/\:*?"<>|]+)$");
      

  4.   

    正确的做法是先判断输入的文件是否符合你的规定,用正则表达式很不错..
    例如:^[a-zA-Z0-9]{1,12}\.(asp|jpg|gif)$  这个表达式允许文件的名字大于1小于12,并且后缀是asp,jpg,gif格式的...上面判断后,还需要进一步判断,因为文件名字可以修改,所以最关键的是要判断文件的ContentType.例如,html文件是text/html,GIF文件是image/gif等等,根据这些信息判断,使用.NET中的HttpPostedFile.ContentType可以获取到这些文件信息
      

  5.   

    http://ccna30.blogchina.com/blog/3071025.html