如何将内存流调用到浏览器下载
How to call memorystream to browser download?
我有以下控制器操作:
var fileName = "monthly_report.pdf"
var document = new Document();
//DO SOME STUFF WITH THE DOCUMENT
MemoryStream stream = new MemoryStream();
doc.Save(stream, SaveFormat.Pdf);
byte[] bytes = stream.GetBuffer();
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename="+fileName);
Response.BinaryWrite(bytes);
Response.End();
我想用参数日期调用上面的控制器操作,这样它就会返回一个可以在浏览器中下载的pdf文件。
虽然它已经在响应中返回,但它显示了很多不可读的迹象,我无法通过ajax调用下载文件来开始执行它(我知道现在不起作用)。
问题是:如何从javascript调用控制器操作,并将javascript var作为参数,而操作不是ajax调用?
非常简单!
用途:
window.open("http://url_of_your_pdf_built_in_function?vars=something&etc=something");
问候
相关文章:
- 通过Android Chrome浏览器下载文件
- 强制web浏览器下载整个页面内容
- 当浏览器下载所需的文件时,GIF 在初始屏幕中缓慢制作动画
- 响应式设计:这个Javascript会导致浏览器下载两个图像吗?
- 浏览器下载 JSON 结果,而不是传递回脚本
- 如何支持从所有浏览器下载mp3
- 拖动文件以在火狐浏览器下载
- 使用javascript获取浏览器下载路径
- 如何将内存流调用到浏览器下载
- 在加载网站时访问浏览器下载的资产
- 在html5中,我可以强制浏览器下载音频文件I'我在用
- 使用wcf从服务器获取文件并在客户端浏览器下载
- 如何强制浏览器下载并缓存当前未显示在页面上的图像
- 如何让web浏览器下载存储在JavaScript字符串中的文件
- 浏览器下载状态
- 无法使用jquery从chrome浏览器下载.xls文件
- 提示浏览器下载对话框
- 使用浏览器下载队列中的多个文件
- 强制浏览器下载Html页面,而不是呈现它
- 是否有可能在浏览器下载页面时显示Twitter引导进度条?