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

[复制链接]
查看: 55|回复: 3
  • 慵懒
    2018-4-28 09:37
  • 发表于 2018-4-3 09:20:03 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    本文实例讲述了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程序设计有所帮助


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

    使用道具 举报

    发表于 2018-7-12 18:05:56 | 显示全部楼层
    这个帖一般般,还可以哦。
    回复

    使用道具 举报

    发表于 2018-8-6 09:52:23 | 显示全部楼层
    确实是难得好帖啊,顶先
    回复

    使用道具 举报

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

    本版积分规则

     
     
    技术支持
    在线客服
    售后交流群瑞恩社区™售后</font><br><span>交流
    工作时间:
    8:00-18:00
    客服热线:
    15368564009
    微信扫一扫
    返回顶部 关注微信 下载APP 返回列表