问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在asp.net中实现点击下载按钮进行文件下载?

发布网友 发布时间:2022-04-22 23:48

我来回答

4个回答

热心网友 时间:2022-04-27 10:14

private void ResponDown(string fileName,string filepatch)
{
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/ms-excel";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));

//Response.Write(writer);

FileStream file = new FileStream(filepatch, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader br = new BinaryReader(file);
Response.AppendHeader("Content-Length", file.Length.ToString());

// StringReader sr = new StringReader(writer.GetStringBuilder().ToString());

long flen =file.Length;

int size = 102400;//每100k同时下载数据
byte[] readdata = new byte[size];//指定缓冲区的大小
if (size > flen) size = Convert.ToInt32(flen);
long fpos = 0;
bool isend = false;
while (!isend)
{

if (Response.IsClientConnected)
{
if ((fpos + size) > flen)
{
size = Convert.ToInt32(flen - fpos);
readdata = new byte[size];
isend = true;
}

if (size > 1)
{
br.Read(readdata, 0, size);//读入一个压缩块
// byte[] re = Encoding.UTF8.GetBytes(readdata, 0, readdata.Length);
Response.BinaryWrite(readdata);

//Response.OutputStream.Write(re, 0, size);
}

fpos += size;
}
else
{

Response.End();
}
}
file.Close();

Response.Flush();

Response.End();
}
给你个下载函数追问你说的太深奥我不懂哎。。。。。。。。

热心网友 时间:2022-04-27 11:32

在page_load事件里加:

string filename = Path.GetFileName( filepath );
Response.Clear();
Response.ContentType = "application/octet-stream ";
Response.AppendHeader( "Content-Disposition ", "attachment; Filename = " + System.Convert.ToChar(34) + filename + System.Convert.ToChar(34) );
Response.Charset = " ";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Flush();
Response.WriteFile( filepath );

filename是显示的文件名,filepath是文件路径

热心网友 时间:2022-04-27 13:06

在按钮事件里写:
Response.WriteFile("C:\\abc.txt");
Response.End();

热心网友 时间:2022-04-27 14:58

可以直接使用a标签的啊, href跟你文件所在的位置
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在RLC电路中,谐振频率为___同期为___谐振条件为___? 电磁振荡并联 RLC振荡回路的谐振频率与振荡特性 佛手柑水培还是干放 中山市美派电器有限公司怎么样? 成都美派电器有限公司怎么样? 两条不同品牌的DDR3内存条可以一起用吗 驾驶证的牡丹卡多长时间能办下来 新衣服必须用洗衣液洗才能去甲醛吗? 梦见逛街被偷抢 2024年买什么品牌的运动男鞋比较好? 客户端点击下载没有反应是怎么回事? 就有点击下载四个字,点哪里下载 怎么使用气做饭? 燃气怎么用? 唱歌时如何用气发声? 怎么用气息唱歌,说话? 唱歌怎么用气发音,不是靠嗓子·· 怎么学会用气唱歌!! 唱歌如何用气? 如何用气发声 如何找回自信 如何找回你的自信? 小米手机手电筒亮度能调大调小吗 怎样找回自信? 怎样寻找自信 小米手机上为什么会出现手电筒的标识? 怎样正确找到自信??? 怎样才能找到自信!~ 小米4的手电筒在哪? 如何找到自信? 点击下载按钮无反应怎么办? 用html怎么完成“点击下载”功能 点击下载,网页没有反应,跳不出下载页面怎么办 点击下载—直接下载,怎么设置用迅雷下载?怎么总是弹出右边两个下载框 怎么设置点击下载 为什么我的电脑点击下载没反应 在网页上设置点击下载那个怎么设置 点击下载页面没反应是怎么回事? 点击下载页面没反应!!!急!!! 怎么把自己的软件让人可以在点开“点击下载”就能下载? 点击下载,怎么直接出现迅雷下载。 梦见彩虹色的大道。别人骑车带着我从大道上一直走到地方 html中点击下载的代码怎么写? 梦见用彩色砖块铺的大马路 下载QQ时,点击”下载”,之后该怎么办 梦见紫色的大道。 点击下载文件用不了 梦见陡峭的银光闪闪的大道? 用asp写“点击下载”的功能怎么做呀? 梦见老房子踏了的地方建成了流光大道还有个小河?