连接至PDF文件的A标签如何让其点击后弹出下载提示框
问题描述:
关于a标签的href属性,一般连接至页面,但用于文件的时候,往往会有些效果并不是某些用户所需要的,例如,有些图片连接用户需求是点击后弹出下载对话框来下载图片,而不是打开此图片的页面后右键另存为,同样对于pdf文件,如果本地已经安装了adobe reader软件,默认会在该阅读器中打开文件,而非弹出对话框提示用户下载。如何不改变客户端的设置,用程序来解决某些情况下需要直接下载而非打开,请问如何书写?是JS端实现还是服务端实现?
在网上有找到关于图片打开的案例,页面代码如下,基本是用js代码实现的
<iframe height="0" width="0" src="123.jpg" name="saveImage" id="saveImage"></iframe>
<a href="#" onclick="saveImage.document.execCommand('saveAs');">Click Me</a>
放到IE8下测试通过
但该端代码的问题在于
1.在firefox下无法实现,因execCommand不兼容firefox
2.无法用于pdf文件,即使在IE下,把iframe中的src换成123.pdf,浏览器则报错,报错信息是:不支持此接口
没有在更高版本的IE下测试
服务端代码方面也无从着手,感觉直接用服务端代码读取一个pdf文件后按pdf文件的格式(MIME格式,似乎是这个,但具体怎么写不清楚)输出或许可行。但具体不知道怎么实现。 PDF 下载 弹出框
[解决办法]
服务器端设置请求回复头设置为:application/octet-stream,让浏览器调用下载对话框 具体的您可以去搜索。