protected void Page_Load(object sender, EventArgs e)
        {      
            if (!IsPostBack)
            {   
                AspnetUpload upl = new AspnetUpload();
                upl.RegisterModelessProgressBar(btnUpLoad);
                ///获取参数DirID的值
                int DirId = 0;
                if (Request.Params["nDirId"] != null)
                {
                    if (Int32.TryParse(Request.Params["nDirId"].ToString(), out DirId) == false)
                    {
                        return;
                    }
                }                Disk_Directory_DataBLL disk = new Disk_Directory_DataBLL();
                Disk_Folder_DataBLL disk_folder = new Disk_Folder_DataBLL();
                Model_DiskDirectory dir = disk.GetSingleDirectory(DirId);
                Model_Disk_Folder folder = disk_folder.GetSingleFolder(DirId);                string folderpath = (@"D:\ManagerDisk\" + dir.Disk_Dir_UserName + folder.Disk_Folder_Url).ToString();                string fpath = Path.Combine(folderpath, dir.Disk_Dir_Name);                if (!Directory.Exists(fpath))
                {
                    Directory.CreateDirectory(fpath);
                }                upl.set_UploadFolder(fpath);            }
        }        protected void btnUpLoad_Click(object sender, EventArgs e)
        {     
            //上传文件
            //string lstrFileName = fileUpload.PostedFile.FileName;
            //lstrFileName = Path.GetFileName(lstrFileName);//去掉目录,返回文件名称//上传的文件名
            //string filetype = fileUpload.PostedFile.ContentType;//上传的文件类型
            //int filesize = fileUpload.PostedFile.ContentLength;//上传的文件大小            ///获取参数DirID的值
            int DirId = 0;
            if (Request.Params["nDirId"] != null)
            {
                if (Int32.TryParse(Request.Params["nDirId"].ToString(), out DirId) == false)
                {
                    return;
                }
            }            Disk_Directory_DataBLL disk = new Disk_Directory_DataBLL();
            Disk_Folder_DataBLL disk_folder = new Disk_Folder_DataBLL();
            Disk_File_DataBLL disk_file = new Disk_File_DataBLL();
            Model_DiskDirectory dir = disk.GetSingleDirectory(DirId);
            Model_Disk_Folder folder = disk_folder.GetSingleFolder(DirId);            //加载用户网络硬盘信息
            Disk_User_DataBLL disk_user = new Disk_User_DataBLL();
            Model_DiskUser user = disk_user.GetWebDisk(dir.Disk_Dir_UserName);
            string sum;
            Object obj = disk_user.SumWebDisk();
            if (obj == null)
            {
                sum = "0";
            }
            else
            {
                sum = disk_user.SumWebDisk().ToString();
            }            UploadFile file = AspnetUpload.GetUploadFile("file1");            long l = file.get_ContentLength();
            
            string size = Math.Round((float.Parse(l.ToString()) / 1024 / 1024), 2).ToString();
            string residual = (user.Disk_Size - Math.Round((float.Parse(sum) / 1024 / 1024), 2)).ToString();//用户剩于的硬盘空间            string folderpath = Path.Combine((@"D:\ManagerDisk\" + dir.Disk_Dir_UserName + folder.Disk_Folder_Url).ToString(),dir.Disk_Dir_Name);
            string folder_path = (folder.Disk_Folder_Url + dir.Disk_Dir_Name + "\\").ToString();            string s;            if (this.txtDescript.Text == null || this.txtDescript.Text == "")
            {
                s = "该主人很懒,什么都没留下";
            }
            else
            {
                s = this.txtDescript.Text;
            }            if (float.Parse(residual) >= float.Parse(size))//判断硬盘空间是否足够
            {
                if (file != null)
                {
                    file.SaveAs(Path.Combine(folderpath, Path.GetFileName(file.get_FileName())));
                    // disk_file.UpLoadFile(file.get_FileName, dir.Disk_Dir_Id, dir.Disk_Dir_UserName, s, folder_path, file.get_ContentType, file.get_ContentLength);
                }
                else
                {
                    this.Label1.Text = "<script>alert('上传失败!!可能原因,上传到文件太大或硬盘空间不够,请确认后再上传!!!!')</script>";
                } 
            }
            else
            {
                this.Label1.Text = "<script>alert('上传失败!!可能原因,上传到文件太大或硬盘空间不够,请确认后再上传!!!!')</script>";
            }
        }

解决方案 »

  1.   

    UploadFile file = AspnetUpload.GetUploadFile("file1");  这句话。。断点运行的时候。。文件上传获取不到值。。file始终是null
      

  2.   

    An exception of type 'System.NullReferenceException' occurred in AiLiKe_App.DLL but was not handled in user codeAdditional information: Object reference not set to an instance of an object.报的是这个错。。断点的时候
    UploadFile file = AspnetUpload.GetUploadFile("file1");  这句话。。断点运行的时候。。文件上传获取不到值。。file始终是null
      

  3.   

    开始》运行》cmd ,然后输入iisreset 重新启动一下IIS就可以了,我也用过这个控件,有点蛋疼,传输速度还在跳时间早停止了