用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

文件下载

2015-06-17 作者: 莫名其妙举报

[c#]代码库

//文件下载
    protected void FileAction(object source, RepeaterCommandEventArgs e)
    {
        switch (e.CommandName)
        {
            case "DownTemp":
                int downID = Utility.getVal(e.CommandArgument);
                DataSet ds = Common.NoPager2("Std_BZFiles", "", "ID,FileName,FileUrl", "", "ID='" + downID + "'");

                string strFilePhysicalPath = ds.Tables[0].Rows[0]["FileUrl"].ToString();
                int start = strFilePhysicalPath.LastIndexOf(".") + 1;
                int total = strFilePhysicalPath.Length - strFilePhysicalPath.LastIndexOf(".") - 1;
                string FileUrl = ds.Tables[0].Rows[0]["FileUrl"].ToString();

                int k = FileUrl.LastIndexOf("\\");
                string strFileName = FileUrl.Substring(k + 37);
                //清空输出流
                Response.Clear();

                //在HTTP头中加入文件名信息
                Response.AddHeader("Content-Disposition", "attachment;FileName=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8));
                //定义输出流翸IME类型为
                Response.ContentType = "application/octet-stream";
                //从磁盘读取文件流
                System.IO.FileStream fs = System.IO.File.OpenRead(strFilePhysicalPath);
                //定义缓冲区大洙小
                byte[] buffer = new byte[102400];
                //第台?一?次?读á取?
                int i = fs.Read(buffer, 0, buffer.Length);
                //如果读取的字节大于,则使用BinaryWrite()不断向客户端输出文件流
                while (i > 0)
                {
                    Response.BinaryWrite(buffer);
                    i = fs.Read(buffer, 0, buffer.Length);
                }
                //关闭磁盘文件流
                fs.Close();
                //关闭输出流
                Response.End();
                break;

            default:
                break;
        }
    }


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...