日期:2014-05-20  浏览次数:20537 次

快要疯掉了,上传文件,File1.PostedFile.ContentLength 未将对象应用到对象实例
我写了一小段上传文件的测试代码,很简单的,这段代码在我本机及其发布到其余4台机都是正常的,但是其中有台机不正常,报错如下:File1.PostedFile.ContentLength   未将对象应用到对象实例。
代码如下:
private   void   Button1_Click(object   sender,   System.EventArgs   e)
{
      try
      {
if(File1.PostedFile.ContentLength==0)
{
    Page.RegisterStartupScript( " ",   " <script> alert( '请选择你要上传的文件! '); </script> ");
  return;
}
else
{
      string   filename   =   File1.PostedFile.FileName;
      Page.RegisterStartupScript( " ",   " <script> alert( ' "+filename+ "+文件获取成功! '); </script> ");
}
      }
      catch(Exception   ex)
      {
            Response.Write( "Error:   "   +   ex.Message);
      }
}
什么给form加上encType= "multipart/form-data "啊,给该网站目录加上ereryone读写权限啊等方法我都试过了,还是不行,不知道到底哪里出了问题,高手们快来帮帮我吧,搞了一天了,还是没搞掂,真的快要疯掉了。

------解决方案--------------------
if(File1.PostedFile.ContentLength==0)
在做这句之前,是不是应该判断一下
if (File1.HasFile)
------解决方案--------------------
去网上先找个例子看看
------解决方案--------------------
protected void Button1_Click(object sender, EventArgs e)
{
string fileName = " ";
string filePath = " ";
string fileClass = " ";

if (FileUpload1.HasFile)
{
fileName = FileUpload1.FileName;
fileClass = System.IO.Path.GetExtension(fileName);
filePath = Server.MapPath( "images/ ");
FileUpload1.SaveAs(filePath + fileName);
}
//string str = " ";
//str += "文件路径: " + filePath + fileName;
//str += " <br> 文件类型: " + fileClass;
//Label1.Text = str + " <br> ";


}