ASP.NET实现推送文件到浏览器的方法

[复制链接]
查看: 24|回复: 1
  • TA的每日心情
    慵懒
    2018-4-28 09:37
  • 1459

    主题

    1479

    帖子

    11万

    积分

    管理员

    小语

    Rank: 9Rank: 9Rank: 9

    积分
    110351
    发表于 2018-4-3 09:20:03 | 显示全部楼层 |阅读模式

    本文实例讲述了ASP.NET实现推送文件到浏览器的方法。分享给大家供大家参考。具体分析如下:

            这里主要实现从服务器到浏览器,推送文件,提供用户下载/浏览的功能。

             提示: 在AJAX UpdatePanel里面将无效。如果代码从按钮单击事件中被调用,该按钮需要在 AJAX UpdatePanel的外部。

              具体代码如下:

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    ///
    /// Downloads (pushes) file to the client browser.
    /// **** NOTE **** Cannot be done from inside an AJAX UpdatePanel control.
    ///
    /// The full file path of the file
    protected void DownloadFile(string fullFilePath)
    {
    // Gets the File Name
    string fileName = fullFilePath.Substring(fullFilePath.LastIndexOf('') + 1);
    byte[] buffer;
    using (FileStream fileStream = new FileStream(fullFilePath, FileMode.Open))
    {
    int fileSize = (int)fileStream.Length;
    buffer = new byte[fileSize];
    // Read file into buffer
    fileStream.Read(buffer, 0, (int)fileSize);
    }
    Response.Clear();
    Response.Buffer = true;
    Response.BufferOutput = true;
    Response.ContentType = "application/x-download";
    Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
    Response.CacheControl = "public";
    // writes buffer to OutputStream
    Response.OutputStream.Write(buffer, 0, buffer.Length);
    Response.End();
    }


              希望本文所述对大家的asp.net程序设计有所帮助


    该用户从未签到

    0

    主题

    4

    帖子

    17

    积分

    注册会员

    Rank: 2

    积分
    17
    QQ
    发表于 2018-5-1 14:10:59 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    精选推荐

    在线客服
    热线电话

    微信公众账号
    返回顶部 关注微信 下载APP 返回列表