欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-20 16:07:04
本文实例讲述了asp.net实现推送文件到浏览器的方法。分享给大家供大家参考。具体分析如下: 这里主要实现从服务器到浏览器,推送文件,提供用户下载/浏览的功能。 提示:...

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

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

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

具体代码如下:

/// <summary>
/// downloads (pushes) file to the client browser. 
/// **** note **** cannot be done from inside an ajax updatepanel control.
/// </summary>
/// <param name="fullfilepath">the full file path of the file</param>
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程序设计有所帮助。