在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;
}
}