下载对话框的实现

protected void lbtnDownload_Command(object sender, CommandEventArgs e)
    {
        BllDYPolicy bll = new BllDYPolicy();
        int fileId = Convert.ToInt32(e.CommandArgument);
        bool isSuccess = true;      
        DataSet ds = bll.GetList(fileId);
        string filepath = ds.Tables[0].Rows[0]["filepath"].ToString();
        string filesourcename = ds.Tables[0].Rows[0]["filesourcename"].ToString();
        string extensionName = filepath.Substring(filepath.LastIndexOf("."));
        string fileName = String.Format("attachment; filename=/"{0}{1}/"", HttpUtility.UrlEncode(filesourcename), extensionName);
        string path = Server.MapPath(this._mainPath + filepath);

        try
        {
            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
            Response.ContentType = "application/octet-stream";
            Response.AddHeader("Content-Disposition", fileName);
            Response.AddHeader("Content-Length", fs.Length.ToString());
            byte[] buffer = new byte[fs.Length];
            fs.Read(buffer, 0, buffer.Length);
            Response.BinaryWrite(buffer);
        }
        catch (Exception ex)
        {
            isSuccess = false;
            Context.Response.ClearHeaders();
            Context.Response.Clear();
            Context.Response.ContentType = "text/html";
            //Context.Response.Write("<script>alert('" + ex.Message + "');</script>");
            JSUtility.Alert(ex.Message);
        }
        if (isSuccess) Context.Response.End();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值