asp.net 中 linkbutton 点击下载文件
1、下载功能:
<asp:LinkButton ID="lbtnAttachName" runat="server" ToolTip="下载文件" Text='<%#Eval("AttachName") %>'
PostBackUrl='<%#Eval("attachPath","~/Common/FileDown.aspx?path={0}") %>'></asp:LinkButton>
FileDown.aspx.cs 文件
protected void Page_Load(object sender, EventArgs e)
{
try
{
string path = Request.QueryString["path"];
string filePath = Server.MapPath("~/" + Server.UrlDecode(path));
if (!File.Exists(filePath))
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('文件不存在!'); history.back(); ", true);
return;
}
new FileInfo(filePath).Attributes = FileAttributes.Normal;
FileStream r = new FileStream(filePath, FileMode.Open);
//设置基本信息
Response.Buffer = false;
Response.AddHeader("Connection", "Keep-Alive");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + Path.GetFileName(filePath));
Response.AddHeader("Content-Length", r.Length.ToString());
while (true)
{
//开辟缓冲区空间
byte[] buffer = new byte[1024];
//读取文件的数据
int leng = r.Read(buffer, 0, 1024);
if (leng == 0)//到文件尾,结束
break;
if (leng == 1024)//读出的文件数据长度等于缓冲区长度,直接将缓冲区数据写入
Response.BinaryWrite(buffer);
else
{
//读出文件数据比缓冲区小,重新定义缓冲区大小,只用于读取文件的最后一个数据块
byte[] b = new byte[leng];
for (int i = 0; i < leng; i++)
b[i] = buffer[i];
Response.BinaryWrite(b);
}
}
r.Close();//关闭下载文件
Response.End();//结束文件下载
}
catch (Exception)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('文件下载时出现错误!'); history.back(); ", true);
// Alert(this, "文件下载时出现错误!");
}
}
asp.net 中 linkbutton 点击下载文件相关推荐
- php 当前页面下载文件,php实现当前页面点击下载文件的简单方法
php实现当前页面点击下载文件的简单方法 发布于 2017-08-02 17:44:21 | 80 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...
- 实现点击下载文件的几种方法
标签:文件下载,技巧 在实现点击下载文件有多种方法: 后端设置header信息 通过后端告诉浏览器header信息实现下载: header('Content-type: image/jpeg'); h ...
- php 网页内容下载,php实现当前页面点击下载文件的简单方法
php控制器中代码 public function downFile($path = ''){ if(!$path) header("Location: /"); download ...
- php通用下载方法,php实现当前页面点击下载文件的简单方法
php控制器中代码 public function downFile($path = ''){ if(!$path) header("Location: /"); download ...
- php下载当前页面,php实现当前页面点击下载文件的简单方法
php控制器中代码 public function downFile($path = ){ if(!$path) header(Location: /); download($path); } dow ...
- php 实现点击下载,php实现当前页面点击下载文件的简单方法
php控制器中代码 public function downFile($path = ''){ if(!$path) header("Location: /"); download ...
- CentOS6中连接ftp服务器下载文件时出现了java.net.SocketException: Connection reset
问题描述:连接CentOS6中的ftp服务器下载文件时出现了java.net.SocketException: Connection reset 解决办法: 1.查看防火墙状态,发现防火墙已开启 se ...
- Linux 中如何使用 Aria2 下载文件
Aria2是一个免费的开源轻量级多协议命令行实用程序,可以从Internet上下载文件.它支持各种协议,例如HTTP,HTTPS,FTP甚至BitTorrent.Aria2可在Windows,Linu ...
- easyui中linkbutton连续点击事件
easyui中linkbutton连续点击事件 <a id="voice" class="easyui-linkbutton easyui-tooltip" ...
最新文章
- Qt msgBox 快捷版
- autoware中lgsvl Simulator安装与使用:LGsvl Simulator 2021.2.1版(九)
- cent os数据库安装
- CF1063B Labyrinth
- Kubesphere V2.1.1安装后开启可拔插组件DevOps(2)
- 售价超16万,全球仅限8台!iPhone 13 Pro冬奥会定制版上架,18K黄金打造
- 《IT项目管理那些事儿》——CSDN蒋涛序
- 如何解决”ArcGIS Server Site is currently being configured by another administrative operation“的问题
- Exchange2010批量建用户及通讯地址簿更新
- 七款非常好用的电脑数据恢复软件推荐
- handlersocket mysql,MySQL插件HandlerSocket
- 解除电脑宽带限制,提升电脑网速
- 由南非世界杯想到IDC
- .NET 再出发, 20岁生日快乐
- 30岁程序媛在一家公司工作八年后,告别“体制化”终于跳槽,别再妄想靠公司养老了!
- 【面试题】「2023」JavaScript 最新高频 前端面试题 指南 (必看)
- 软考高项 : (22)2016年下半年论文写作真题
- 十一假期,分享几个好玩儿的GitHub项目
- 漫画:设计模式六大原则(上)
- 00、老徐教你学C语言——C语言学习之道(学习篇)——理论