asp.net 上传 解决超过1G的文件!最大可以传2GB。。

时间:2022-12-24 17:18:49

在web.config里面配置如下  这个很重要。。。

 

 

 

 


<httpRuntime maxRequestLength="2097151" executionTimeout="120"  shutdownTimeout="120" />

 /*
         (1)maxRequestLength这个属性限制文件上传的大小,是以KB为单位的,默认值为4096KB,
              而最大上限为2097151KB,大约是2GB   2047MB。
         (2)executionTimeout,ShutdownTimeout属性则是限制文件上传的时间,以秒(s)为单位,默认值为90 s,
              如果您考虑到所设计的Web应用系统上传时间要超过90 s可延长设定值。
 */

 

 

 

 

 

 

 

 

 

 

 

 

protected void Button1_Click(object sender, EventArgs e)
    {
        if (MyUploadMath("~/shipinManager/", FileUpload1))
        {
            ClientScript.RegisterStartupScript(GetType(), "script", "<script>alert('ok')</script>");
        }
    }

 

 

 

 

代码方法:

    /// <summary>
    /// 大文件上传 支持2G
    /// </summary>
    /// <param name="fileName">要保存到服务器上的路径这里你不需要 Server.MapPath</param>
    /// <param name="fileupload">你的FileUpload控件</param>
    /// <returns></returns>
    public bool MyUploadMath(string fileName, FileUpload fileupload)
    {
        //复制如下 配置文件代码
        //<httpRuntime maxRequestLength="2097151" executionTimeout="120"  shutdownTimeout="120" />
       
        try
        {
            //HttpPostedFile 对当前文件的单独访问
            string SaveFileName = string.Empty;
            if (fileupload.HasFile)
            {
                //这里预防上传视频名字一样  所以格式化一个名字 2010-7-17 12:27:16 2154 格式化后20107171227162154
                string Time = DateTime.Now.ToString("yyyyMMddHHmmssffff");
                SaveFileName = fileupload.FileName.Split('.')[0] + Time + "." + fileupload.PostedFile.FileName.Split('.')[1];
                HttpPostedFile hpf = fileupload.PostedFile;//获取FileUpload已选定的文件
                hpf.SaveAs(Server.MapPath(fileName) + SaveFileName);
            }
            //if (isShow)
            //{
            //    System.Text.StringBuilder str = new System.Text.StringBuilder();
            //    str.Append("上传前文件名字:" + fileupload.FileName + "/n上传后文件的名字:" + SaveFileName + "/n您上传文件的大小(KB):" + fileupload.PostedFile.ContentLength + "/n");
            //    str.Append("文件保存在:" + fileName);
            //}
            return true;
        }
        catch (Exception ex)
        {
            ClientScript.RegisterStartupScript(GetType(), "script", "<script>alert('" + ex.Message + "')</script>");
            return false;
        }
    }