我使用了 FileUplaod 控件 上传 , 由于页面问题, 我同时也使用了session来作为页面之间的传递。  即  
FileUpLoad Attach;
Session["ptr"]=Attach; 传致另一个页面 public string  save(FileUpLoad attach)
{
    attach=(FileUpLoad)session["ptr"];
    .....
    ....
    attach.SaveAs(path);
   return attach.FileName;
}
我在调试装态时。 没有一点问题。 但是我使用(win2003)IIS 时  上传文件可以保存 。但上传到的文件却是 0 KB 的?
返径也为空 ""(string.Empty) ? 这是怎么回事呢? 为什么调试可以。 在IIS里面就不行了呢? 权限都打上去了。文件也能AS过去。 就是0 KB的文件。 急求答案。。谢谢。高手出手相救 

解决方案 »

  1.   

    使用了 FileUpLoad 控件,要实现上传文件
    直接在一个按钮里写如下代码:
    bntOk_Click(...)
    {
       string sPath = Server.MapPath("UpLoad/");//路径
       string sFileName = FileUpload1.FileName;//取得控件里的文件名  
       if(FileUpload1.HasFile)
       { FileUpload1.SaveAs(sPath+sFileName);}
    }不知道大哥是不是要实现这样的功能,呵呵,班门弄斧了,献丑了啊
      

  2.   


    因为项目里的框架有一个公共页面。 都是通过用户控件来填充不同的数据页面显示。但是在用户控件里直接放一个FileUpLoad控件无法使用。 触发事件。FileUpLoad的值是空的。 我只好通过最简单的Iframe方法来兼并效果。。这样的话我就使用了Session来传值。。 我的效果是这样的: 
    一。 在VS2008调试状态下。 有值。 使用正常。 可以上传到文件。 文件不为 0 KB
    二。 我的IIS权限全都打了勾。 完全控制. 
    三。 我在发布到IIS的时候使用。 可以上传文件。 但是文件为0KB.  而且无法获取上述方法的返回值。即为String.empty这问题好奇怪。。 我很想知道为什么同样的代码。 在两种环境下为什么会有不同的结果? 这是很普通的方法。也使不通吗?还有哪位高人给我其它的什么方法来解决吗?