首页 新闻 会员 周边 捐助

Asp.net文件下载问题。。。

0
[已解决问题] 解决于 2016-06-24 18:55
  HttpContext.Current.Response.ContentType = "application/application/x-javascript";
  HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", fildName));
            HttpContext.Current.Response.Clear();

            MemoryStream file = new MemoryStream();
            _workbook.Write(file);
           
            file.WriteTo(HttpContext.Current.Response.OutputStream);
            HttpContext.Current.Response.Write("<script>alert(1);</script>");
HttpContext.Current.Response.End();

代码在上面。。。

问题是如何向前台输出一个js(并执形),然后开始下载文件。。。

小小高的主页 小小高 | 小虾三级 | 园豆:1307
提问于:2016-06-22 14:54
< >
分享
最佳答案
0

ashx代码:
string fileName = context.Request.Params["rowID"];
string downFile = context.Request.Params["title"];
context.Response.ContentType = "application/octet-stream";
context.Response.AddHeader("content-disposition", "attachment;filename=" + downFile);
string url = context.Server.MapPath("~/UploadFiles/" + fileName + ".rar");
context.Response.TransmitFile(url);
context.Response.End();

前端调用代码:
$.post("../../Handler/MaterialDownloadHandler.ashx",{
rowID: 8,
title: "下载测试"
});

奖励园豆:5
如此拉风的女人 | 初学一级 |园豆:30 | 2016-06-23 13:05

给浏览器响应了一个文件流么? 你用的Jquery支持二进制么?

 

XmLhttprequest 2才支持的。。

 

 

小小高 | 园豆:1307 (小虾三级) | 2016-06-23 15:20

@小小高: 我感觉你的问题不太明确。asp.net中实现下载。就可以建一个一般处理程序ashx就可以实现了。

如此拉风的女人 | 园豆:30 (初学一级) | 2016-06-23 15:33

@如此拉风的女人: 我要下载完成后,执形一段js

小小高 | 园豆:1307 (小虾三级) | 2016-06-23 15:34
其他回答(2)
0

哪个老师教你这样写的?

爱编程的大叔 | 园豆:30844 (高人七级) | 2016-06-22 14:59

大叔,我现在就是有这种需求哇,一个http请求,要么单独下文件。要么单独执形一串js.

现在就是想把它做到一个http请求去。。。

自创的。。想法就是老师。。

支持(0) 反对(0) 小小高 | 园豆:1307 (小虾三级) | 2016-06-22 15:01
0

那个老师教你这样写的?

老毛子1123 | 园豆:184 (初学一级) | 2016-06-23 09:18

自创的。。想法就是老师。。

支持(0) 反对(0) 小小高 | 园豆:1307 (小虾三级) | 2016-06-23 11:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册