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(并执形),然后开始下载文件。。。
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: "下载测试"
});
给浏览器响应了一个文件流么? 你用的Jquery支持二进制么?
XmLhttprequest 2才支持的。。
@小小高: 我感觉你的问题不太明确。asp.net中实现下载。就可以建一个一般处理程序ashx就可以实现了。
@如此拉风的女人: 我要下载完成后,执形一段js
哪个老师教你这样写的?
大叔,我现在就是有这种需求哇,一个http请求,要么单独下文件。要么单独执形一串js.
现在就是想把它做到一个http请求去。。。
自创的。。想法就是老师。。
那个老师教你这样写的?
自创的。。想法就是老师。。