asp.net 大文件上传问题的解决方法

发布时间:2019-07-16编辑:脚本学堂
如何在asp.net中上传大文件呢,此处的大文件一般是指大于4M以上的文件,这在asp.net是默认的上传大小,我们要做的是找到突破这个限制的方法。

我们这里用了上传文件的控件FileUpload,大家可以自行搜索下。
默认情况下,asp.net环境下用户只能上传4MB大小的文件。
如果需要上传大于这个大小的文件,可以通过修改配置文件的方法,得以实现。
 

复制代码 代码示例:

protected void btnSend_Click(object sender, EventArgs e)
{
try
{
//上传思路:
//获取上传文件的名称,此时为一个全路径的地址
string upFileName = fulFileName.FileName;

//获取上传文件的扩展名
string lastName = upFileName.Substring(upFileName.LastIndexOf("."));

//得到新的文件名称
string newFileName = txtFileName.Text + lastName;

//设置要保存到的文件路径
string FilePath =Server.MapPath("./")+"File"+"//"+newFileName;

//将文件保存到指定文件路径下
fulFileName.PostedFile.SaveAs(FilePath);
lblResult.Text = "上传成功";
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
lblResult.Text = "上传失败";
}
}

解析:
1、获取上传文件的原名称。
2、获取上传文件的扩展名组成新的名称。
3、设置需要保存的路径使用:Server.MapPath(“./”)+”File”+newFileName ./表示当前页面下的虚拟路径,File表示当前页面中的File文件夹,必须要先创建此文件夹。
4、将文件保存到指定文件路径下。使用FileUpload控件的PostFile的SaveAs()方法。

通过修改Web.config文件增大文件上传大小的限制:
 

复制代码 代码示例:
<system.web>
<httpRuntime maxRequestLength=”40960” executionTimeOut=”6000” />
</system.web>
 

maxRequestLength 属性 即上传的最大字节,修改这里的值为你期望的数值即可。