2011-05-10 179 views
1

我有一个.pdf格式的文件,用于我的网站。打开另存为对话框

如果您点击链接,它会打开Adobe Reader并打开文件。

我想做的事,当你左键点击,它会打开你想要

来保存文件,询问你的对话框是。

我知道你可以通过右击做到这一点,选择另存为, 但有什么办法由刚刚

一个简单的左键点击立即下载呢?

回答

2

我确定有一些破解可以实现这一点,但这是在计算机上安装Adobe Reader时与浏览器一起安装的功能。保持所有用户的一致性是最好的方法。不要打扰尝试使左键单击打开保存对话框。用户习惯了这种行为并知道如何将PDF保存到本地硬盘

一致性是关键。

0

的PDF添加到压缩文件夹,然后将链接添加到Zip文件夹

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> 
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();