怎么在asp.net中点击一个链接下载一个准备好的pdf文件?

如题所述

最简单的没有安全控制的方式:<a href='/苍老师全集.pdf'> 中日交流电子书</a>
如果需要权限控制的话,可以做成用一个ashx来处理的方式,在这个ashx的作用就是读取对应的的电子书文件,供下载。实现方式你可以找对应的代码,这里我就不列出了。追问

pdf会被浏览器解析。 就是不是下载,是直接在浏览器打开了这个苍老师全集。这样就会被女朋友发现。。。然后就要出事的。有木有办法直接下载而不是在浏览器打开?

追答

Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName));
switch (file.Extension)
{
case "gif":
Response.ContentType = "image/gif";
break;
case "zip":
Response.ContentType = "application/octet-stream";
break;
}
Response.TransmitFile(filePath);
上段代码是我摘抄的(很久没写代码了,见谅)。
Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。 Content-disposition其实可以控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,文件直接在浏览器上显示或者在访问时弹出文件下载对话框。
现在我想你已经知道怎么做了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-01
直接用下载文件的方法就行了啊?有什么特殊要求?追问

你好!我对这块不熟。能给我贴个实例代码吗?谢谢了

追答

//流方式下载
protected void Button4_Click(object sender, EventArgs e)
{
string fileName = "aaa.zip";//客户端保存的文件名
string filePath = Server.MapPath("DownLoad/aaa.zip");//路径

//以字符流的形式下载文件
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();

}
你懂的话最好自己试着做一下,这样才容易明白。

怎么在asp.net中点击一个链接下载一个准备好的pdf文件?
最简单的没有安全控制的方式: 中日交流电子书 如果需要权限控制的话,可以做成用一个ashx来处理的方式,在这个ashx的作用就是读取对应的的电子书文件,供下载。实现方式你可以找对应的代码,这里我就不列出了。

简便实用:在 ASP.NET Core 中实现 PDF 的加载与显示
首先,在服务器端创建PDF文件。具体步骤如下:设计CreatePDF()方法,编写实现代码,完成PDF文件生成。之后,为了能在浏览器中直接加载和查看PDF,将使用JavaScript。在Index.cshtml文件中,整合相应代码,搭建加载和查看PDF的框架。在实现中,提供了PDF编辑器功能,包括添加、删除不同类型的注释,如文本、圆圈...

简便实用:在 ASP.NET Core 中实现 PDF 的加载与显示
首先进入服务器端,创建PDF文件。详细编写步骤如下:创建的PDF文件在Adobe中呈现如下:然后,通过JavaScript加载和查看PDF。在浏览器中直接编辑和修改PDF的编辑器,本文会继续介绍实现方法。在Index.cshtml文件中加入如下代码,展示编辑效果。该编辑器提供注释功能,允许用户添加、删除或编辑文本、圆圈、图章或编...

asp.net鼠标移上去显示pdf文档内容
1、在前端创建div元素和一个隐藏的iframe元素,并将二者紧密挨在一起(即先定位好二者的位置)。2、当用户移上去时,根据鼠标的坐标值,动态地将iframe元素的src属性设置为PDF文件的路径并显示出来。3、监听鼠标移除元素的事件,当鼠标移走时,隐藏iframe元素。

ASP.NET中如何在网页上打开PDF格式的文件,最好能给出代码。
如果客户机安装了PDF阅读器的话,把超链接指向PDF文件,自然会调用PDF阅读器,并嵌入网页的,如果没有安装那个阅读器就不知道怎么办了。

请问各位大神:1.怎么实现将PDF显示在asp.net的网页之中,求详细操作与代...
直接输出流文件到页面上即可 我这个是根据路径读取到PDF在展示的 你可以根据你的需求修改下即可 经过测试是OK的 祝你好运 \/\/\/ \/\/\/ 根据路径读取PDF文件 \/\/\/ \/\/\/ 路径 \/\/\/ <returns>字节数组<\/returns> private byte[] GetPdfByPath(string path){ try { FileStream fs = File.Open(...

asp.net怎么实现在网页上写pdf和将pdf加载到网页上呢。如果有源码可以分...
1、 通过的浏览器:360、Firefox、IE、Chrome 2、 下面这个完整点: <!--IE-->

asp.net filestream 如何读取pdf文件,这个该怎么做?
string path = @"F:\\TDDOWNLOAD\\Book\\C#游戏编程入门.pdf";Response.ContentType = "application\/pdf";Response.AddHeader("content-disponstion", "filename=C#游戏编程入门.pdf");byte[] buffer = new byte[256];FileStream fs = File.Open(path, FileMode.Open);Response.AddHeader("content-...

请问,谁有asp.net可以在网页上操作PDF和读取PDF的源码吗,谢谢了_百 ...
可以的,你可以使用Aspose.PDF.dll 去读取、生成、修改PDF文件。

关於asp.net 把网页内容导出为PDF文件
可以装个虚拟打印机的插件,把页面打印保存为pdf文件

相似回答