我的网站有一个.pdf格式的文件。
如果您左键单击该链接,它将打开Adobe Reader并打开该文件。
我想要做的是当你点击左键时,会打开一个对话框,询问你想要的地方
保存文件。
我知道您可以通过右键单击并选择另存为来执行此操作, 但有什么办法只是
一个简单的左键点击下载吗?
答案 0 :(得分:2)
我确定有一些黑客可以实现这一目标,但这是在计算机上安装Adobe Reader时随浏览器安装的功能。保持所有用户的一致性是最好的方法。不要试图让左键单击打开保存对话框。用户习惯于此行为,并且知道如何将PDF保存到本地硬盘
一致性是关键所在。
答案 1 :(得分:1)
两部分,您必须将pdf转换为字节流,并将内容处置标头添加到html响应中。
首先获取文件并将流传输到字节数组
public byte[] GetDocument(string filePath)
{
return File.ReadAllBytes(filePath);
}
然后发送它 - 作为Page_Load事件中的第一件事 - 您需要通过会话或查询字符串将路径传递给新页面,因为您无法更改现有内容的内容类型您已在浏览器中查看的页面。
Byte[] fileData = GetDocument(filePath);
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.ContentType = "application/pdf";
// prompt to download
Response.AppendHeader("content-disposition", "attachment; filename=declarations.pdf");
Response.AppendHeader("content-length", fileData.Length.ToString());
Response.BinaryWrite(fileData);
Response.Flush();
Response.Close();
答案 2 :(得分:0)
将pdf添加到zip文件夹并添加指向zip文件夹的链接
答案 3 :(得分:0)
从链接的href部分删除pdf位置,然后编写onClick方法。
<a href="#" onClick="$:openSaveDialog">
<script>
function openSaveDialog() {
//Write a JavaScript function to prompt the user with a Save Dialog Box.
}
</script>