All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
asp.net2.0加密数据库连接字符串技巧_[Asp.Net教程]
数据库事务基本概念_mssql学习_编程技术
asp.net2.0中创建Crystal报表的实例
PHP学习宝典-第六章(续篇)_[PHP教程]
实例简析SQL嵌套子查询_[SQL Server教程]
c#中邮件收发处理(POP3,IMAP,SMTP)_[Asp.Net教程]
HTML语言剖析(六)清单标记_[Html教程]
ASP.NET技巧:远程抓取GOOGLE的自动翻译结果_.net资料_编程技术
Asp.net日期字符串格式化显示方法_[Asp.Net教程]
ASP.NET,2.0页面框架简要慨述_[Asp.Net教程]
Reading number is top 10 pictures
性感丰满身材火爆de美女1
含苞欲放的素颜美少女2
Look for from human art net, is good--3
云南大理的美女
Sora aoi be huged like a bear
Fierce! China's special forces training the devil2
这才是真正的人体艺术1
The goddess of the single reason2
真正的国产-非模拍 贵在是真实1
这是男生笨么?
Download software ranking
Boxer's Top ten classic battle9
Tram sex maniac 2 (H) rar bag12
jBuilder2006
Wild things 2
linux安装大全
The Bermuda triangle2
Unix video tutorial19
c#程序设计案例教程
Boxer's Top ten classic battle1
Unix video tutorial8
delv published in(发表于) 2014/1/6 9:05:09 Edit(编辑)
ASP.NET页面下载程序_[Asp.Net教程]

ASP.NET页面下载程序_[Asp.Net教程]

ASP.NET页面下载程序_[Asp.Net教程]

在网站的制作中经常需要开发下载文件的功能,下面三种下载文件的办法:
1、asp实现下载的代码
<%
filename = Request.QueryString("FileName")
if filename = "" then
Response.Write "请输入filename参数,指定下载的文件名"
else
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename =" & filename
Set FileStream = Server.CreateObject("Adodb.Stream")
FileStream.Mode = 3
FileStream.Type = 1
FileStream.Open
FileStream.LoadFromFile( Server.MapPath(filename))


Response.BinaryWrite( FileStream.Read )


FileStream.Close()
Set FileStream = nothing
end if
%>把上述代码存成asp类型的文件,使用时类似:download.asp?filename=a.gif。
2、使用WebClient
在下载按钮事件中加入如下代码
System.Net.WebClient wc = new System.Net.WebClient();
wc.DownloadFile( "http://localhost/a.gif", "c:\a.gif");
上述代码会把服务器端的a.gif文件在没有任何提示的情况下下载的客户端的c盘,没有任何提示还是比较可怕的,不过有的时候确实需要这样做。该代码也可以在桌面程序运行。
3、带有下载提示的ASP NET下载代码
//打开要下载的文件
System.IO.FileStream r = new System.IO.FileStream(FileName, System.IO.FileMode.Open);
//设置基本信息
Response.Buffer = false;
Response.AddHeader("Connection", "Keep-Alive");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.IO.Path.GetFileName(FileName));
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();//结束文件下载
该方法有下载提示框,服务器端可以知道何时下载完毕。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.