我在用了FileUpload1.HasFile
正常情况下,如果有上传文件应该为True
可问题是如果上传了一个txt文件,不管有没有上传,它都认为是False
这是怎么回事啊!!!

解决方案 »

  1.   

    FileUpload的HasFile是如下定义的public bool HasFile
    {
        get
        {
            HttpPostedFile postedFile = this.PostedFile;
            return ((postedFile != null) && (postedFile.ContentLength > 0));
        }
    }那么要返回false无非两种情况:1你的txt路径错误-2你的txt为空文件
      

  2.   

    一般我判断的时候都是这样,
    if(FileUpload1.postedFile.FileName.Length<=0)
    {
      //处理没有输入的情况
    }
    else
    if(FileUpload1.PostedFile.ContentLength<=0)
    {
      //处理虽然有文件,但是文件的大小为0的情况,也可能文件根本就不存在
    }
      

  3.   

    现在的问题是这样的
    我在开发的机器上面,我直接
    Response.Write(FileUpload1.HasFile);
    Response.Write(FileUpload1.FileName.ToString());
    不管什么类型文件,如果有上传,他的hasfile值是True,也能取到文件名现在的问题是,如果用客户机去访问我架在开发的机器上同样的程序
    如果是上传doc,xls....其它类型的,他的hasfile值是正常的
    只有在上传txt的时候,当有上传的时候,他也显示是false,连文件名也读不到
      

  4.   

    查到问题了
    文件大小为0,是读不到他的值的
    我前面TXT就是一个空文件,谢谢了