ASP.NET上传大文件的实现

 实例说明

上传文件功能在网站开发中是比较常用的功能,例如,在视频网站中用户可以上传自己的视频以供大家的欣赏。但是在Asp.net中对上传文件的大小具有限制。在默认情况下用户只能上传4MB大小的文件。这样会给用户带来不便。本实例将允许用户上传40MB大小的文件。运行本实例,如图1所示,在页面中用户可以选择需要上传的文件,输入上传后文件的名称。单击“上传”按钮实现文件的上传功能。

图1  用ASP.NET传送大文件

 关键技术

上传大文件主要通过修改Web.config文件来实现,在Web.config文件中添加httpRuntime节,在该节中修改两个参数,第一个参数maxrequestlength为最大上传容量,第二个参数executiontimeout为所响应的时间。本实例修改的代码如下:

<httpRuntime maxRequestLength="40960" executionTimeout="6000"/>

 设计过程

(1)新建一个网站,将其命名为UploadBigFile,默认主页为Default.aspx。

(2)该页中涉及的主要控件如表1所示。

表1  Default.aspx页面涉及的控件

类型

控件ID

用途

标准/ TextBox

txtName

输入上传后文件的名称

标准/ Button

btnSend

执行上传操作

数据/ FileUpload

fupFileSend

选择需要上传的文件

(3)在“上传”按钮的Click事件中,设置文件需要保存的路径及名称并将文件保存。代码如下:

protected void btnSend_Click(object sender, EventArgs e)

{

    try

    {

        string upName = fupFileSend.FileName;                                  //获取上传文件的名称

        string nameLast = upName.Substring(upName.LastIndexOf("."));            //获取上传文件的后缀名

        string fileName = txtName.Text + nameLast;                                   //修改上传文件的名称

        string path = Server.MapPath("./")+"File"+ "\\" + fileName;               //设置要保存的路径

        fupFileSend.PostedFile.SaveAs(path);                                      //将文件保存到指定路径下

        RegisterStartupScript("true", "<script>alert('上传成功!')</script>");

    }

    catch (Exception ex)

    {

        Response.Write(ex.Message.ToString( ));

        RegisterStartupScript("true", "<script>alert('上传失败!')</script>");

    }          

}

在传送大文件之前,可以使用GZip在线压缩文件,或将文件分割为若干部分再进行传输。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code_徐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值