首页 新闻 会员 周边 捐助

C#下载问题 迅雷

0
悬赏园豆:20 [待解决问题]

我有一个Excel导出的功能,代码在ashx文件里。页面直接下载时没问题,

但是用迅雷之后就下载不了,如图

求大神帮忙,多谢了!

凌晨四点之洛杉矶的主页 凌晨四点之洛杉矶 | 初学一级 | 园豆:5
提问于:2014-06-11 09:39
< >
分享
所有回答(4)
0

你先把静态文件生成出来在让迅雷下载

刘宏玺 | 园豆:14020 (专家六级) | 2014-06-11 09:49

能说清楚点吗。我的代码

HttpResponse resp = context.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" +tableName+"导出记录" + DateTime.Now.ToFileTime() + ".xls");


MemoryStream ms = new MemoryStream();
XlsDocument doc = new XlsDocument();
Worksheet sheet = doc.Workbook.Worksheets.Add("sheet1");

//中间省略填充Sheet数据

doc.Save(ms);
ms.Flush();

resp.BinaryWrite(ms.GetBuffer());
resp.End();

0

你的是本地吗? 本地迅雷下载不了啊

服务器上应该可以的
另外你ashx输出类型 和文件名设置没?

丫的 | 园豆:1575 (小虾三级) | 2014-06-11 09:51

为什么,能说清楚点吗?

HttpResponse resp = context.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" +tableName+"导出记录" + DateTime.Now.ToFileTime() + ".xls");

0

不科学,代码有问题。

迅雷是可以下载本地资源的

lucika.zh | 园豆:54 (初学一级) | 2014-06-11 11:20

什么问题啊,我的代码是这样的。

HttpResponse resp = context.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" +tableName+"导出记录" + DateTime.Now.ToFileTime() + ".xls");


MemoryStream ms = new MemoryStream();
XlsDocument doc = new XlsDocument();
Worksheet sheet = doc.Workbook.Worksheets.Add("sheet1");

//中间省略填充Sheet数据

doc.Save(ms);
ms.Flush();

resp.BinaryWrite(ms.GetBuffer());
resp.End();

0

你用流输出没有实际文件,用迅雷是下载不了的,你应该把流另存为具体的~/File/*.xls ,然后给出一个具体的路径,如:http://***.com/File/*.xls.这样迅雷肯定可以下载了。

amityat | 园豆:476 (菜鸟二级) | 2014-06-11 14:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册