我在这里指定了非常相似的要求.
我需要让用户的浏览器手动开始下载 $('a#someID').click();
但我无法使用该window.href方法,因为它将当前页面内容替换为您尝试下载的文件.
相反,我想在新窗口/选项卡中打开下载.这怎么可能?
我的网站上有一些大尺寸的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服务,并提供下载链接...
我在我的网页上提供pdf文件的链接供下载,如下所示
<a href="myfile.pdf">Download Brochure</a>
Run Code Online (Sandbox Code Playgroud)
问题是当用户点击此链接时
但我希望它总是弹出给用户下载,无论是否安装了"Adobe acrobat".
请告诉我怎么做到这一点?
有没有办法强制使用JavaScript例程的浏览器在单击链接后将文件保存为("另存为")?我需要默认情况下直接下载图像,而不是由浏览器呈现.
我目前正在开发一个PHP脚本,允许您通过访问链接从移动设备下载媒体内容(视频,音频,图片...).(即http://www.my-web-site.com/download.php?id=7ejs8ap)当我用最近的手机(三星Galaxy S,iPhone 4S,其他一些人)测试时,我的脚本非常有用. )但我的旧手机三星C3050出现错误.我想下载的媒体只是一个音频mp3文件,我通常很容易下载.
该错误似乎是"未知内容类型".因此,由于我唯一的HTTP标头Content-Type是"application/force-download",我尝试对此进行评论并再试一次.然后,它的工作原理.但是现在,我目前正在询问这种内容类型的含义以及是否可以强制其他移动设备.我在iPhone 4上没有使用Content-Type进行测试,但它确实有效,但我不确定所有移动设备的兼容性.
有人可以解释一下Content-Type是如何工作的,为什么这不是标准的MIME或其他所有可以帮助我确保这是每个下载的选项内容类型,无论文件,浏览器或设备是什么我正在下载?
感谢大家.
这是我发送的PHP标头:
<?php
//Assume that $filename and $filePath are correclty set.
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$filename.'"');
// header('Content-Type: application/force-download'); Non-standard MIME-Type, incompatible with Samsung C3050 for example. Let it commented
readfile($filePath);
?>
Run Code Online (Sandbox Code Playgroud)
编辑:我刚试过索尼Xperia,下载不成功:我只看到我要下载的文件的"html编码"字节.如果application/octet-stream或application/force-download不起作用,我怎么知道我必须使用哪种内容类型?
<a href="sample.pdf" target="_blank">Download</a>
Run Code Online (Sandbox Code Playgroud)
如果单击"下载"按钮,则此目标空白将打开一个新窗口.
但我需要它来提示保存此文件的对话框.我怎样才能做到这一点?

我想让用户只需点击一下即可直接下载文件.然而,对于已知的模因类型,如HTML,音频,视频等,存在一个问题.理想情况下,我想触发音频/视频文件的下载提示.最后,我也想为HTML文档做这件事.主要思想是让用户轻松下载文件而不要求他们导航到上下文菜单.
例如,我认为那些对计算机及其主要功能并不熟悉的人.这些人肯定更喜欢比"另存为"更好的方式.
我之所以在寻找JavaScript解决方案,是因为只有在网站环境中才能使用PHP方法.每当您进入插件或注入的脚本上下文(即为Firefox,Chrome或Safari开发插件)时,您可能希望避免要求服务器端响应.
我试着用window.open()和 实现这一点document.execCommand("saveAs",....它确实有效,虽然它很糟糕并且无法存档.
然后,我尝试了在每种情况下都不起作用的Downloadify.
是否有纯JavaScript,没有Ajax方式来触发下载提示,因此用户可以使用简单的左键单击直接下载文件?