我的网站上有一些大尺寸的PDF目录,我需要将它们作为下载链接.当我用Google搜索时,我发现下面有这样的事情.它应该在链接点击时打开" 另存为... "弹出窗口...
<head>
<meta name="content-disposition" content="inline; filename=filename.pdf">
...
Run Code Online (Sandbox Code Playgroud)
但它不起作用:/当我链接到如下文件时,它只链接到文件,并试图打开该文件.
<a href="filename.pdf" title="Filie Name">File name</a>
Run Code Online (Sandbox Code Playgroud)
更新(根据以下答案):
我认为没有100%可靠的跨浏览器解决方案.可能最好的方法是使用下面列出的一个Web服务,并提供下载链接...
我的服务器上有一个CSV文件.如果用户点击了应该下载的链接,而是在我的浏览器窗口中打开它.
我的代码如下所示
<a href="files/csv/example/example.csv">
Click here to download an example of the "CSV" file
</a>
Run Code Online (Sandbox Code Playgroud)
这是一个普通的网络服务器,我可以完成所有的开发工作.
我尝试过类似的东西:
<a href="files/csv/example/csv.php">
Click here to download an example of the "CSV" file
</a>
Run Code Online (Sandbox Code Playgroud)
现在我的csv.php文件的内容:
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename=example.csv');
header('Pragma: no-cache');
Run Code Online (Sandbox Code Playgroud)
现在我的问题是它正在下载,但不是我的CSV文件.它会创建一个新文件.
我想点击一个链接开始下载图像.
<a id="downloadImage" href="imagepath">Click here to download</a>
Run Code Online (Sandbox Code Playgroud)
我知道我们可以使用HTML5的下载属性(强制浏览器在点击链接后保存文件)但我不想使用它,因为它不适用于旧版本的浏览器.我在这里尝试了这个方法: 使用Javascript/jQuery下载文件, 但它会在iframe中打开图像.
任何人都可以帮我强迫浏览器使用jquery下载链接图像吗?
可能重复:
如何自动强制下载PDF格式?
我检查了其他论坛,但我不明白他们说什么.我已经检查了这个链接,人们似乎确实得到了解决方案:
http://css-tricks.com/snippets/htaccess/force-files-to-download-not-open-in-browser/
我想做一个用于下载PDF的按钮,该文件太大而无法在线查看.所以我希望该按钮强制浏览器下载文件.询问或不询问用户.将有不同的PDF名称文件,因此我需要使用各种PDF文件的PDF格式下载此按钮.
我已经检查了不同的网站,似乎可以使用htaccess完成,但老实说,我不知道如何做到这一点.有人可以帮我告诉我如何做到这一点!?!?!通过CSS/html有一个简单的方法吗?
对于这么小的细节,我已经被困了很长时间.
我的代码很简单:
<div class="Container for icons">
<a href="hugefile.pdf" alt=""><img href="icon.png" alt=""/>
</div>
Run Code Online (Sandbox Code Playgroud)
有人可以帮我这个吗?
只是想问一下如何阻止Web浏览器在浏览器上查看,因为每次用户点击链接下载它在浏览器中查看
asp.net controller
<li><asp:HyperLink ID="hl_download" runat="server" >Download</asp:HyperLink></li>
html
<a id="dnn_ctr932_View_hl_download" href="/ideaPark/DesktopModules/ResourceModule/pdf_resources/IdeaPark_ER_diagram.pdf">Download</a>
Run Code Online (Sandbox Code Playgroud) 我创建了一小段脚本,它调用 API 来获取 PDF 并将 responseType 作为数组缓冲区发送。
使用这个我创建一个新的 Blob 并将类型设置为“应用程序/pdf”
为了强制下载,我创建了一个锚元素,将 blob 传递给它并单击它。
这在本地和我的测试服务器上的其他浏览器上都可以正常工作,但在 Chrome 上我失败了 - 下载栏中没有文件。
PDF 绝对可用,因为我可以将 API 的 url 粘贴到选项卡中并查看它,并且来自原始 API 调用的响应被传递到 Blob。
示例代码
var fileName = 'dummyFilename-' + offerId + '.pdf';
var blob = new window.Blob([resData], { type: 'application/pdf' });
var anchorElement = document.createElement('a');
var url = window.URL.createObjectURL(blob);
document.body.appendChild(anchorElement);
anchorElement.id = 'anchorElement';
anchorElement.hidden = 'true';
anchorElement.href = url;
if (typeof anchorElement.download !== 'undefined') {
anchorElement.download = fileName;
} else {
anchorElement.target = '_blank';
}
anchorElement.click();
Run Code Online (Sandbox Code Playgroud)