我的网站上有一些大尺寸的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服务,并提供下载链接...
我想让用户只需点击一下即可直接下载文件.然而,对于已知的模因类型,如HTML,音频,视频等,存在一个问题.理想情况下,我想触发音频/视频文件的下载提示.最后,我也想为HTML文档做这件事.主要思想是让用户轻松下载文件而不要求他们导航到上下文菜单.
例如,我认为那些对计算机及其主要功能并不熟悉的人.这些人肯定更喜欢比"另存为"更好的方式.
我之所以在寻找JavaScript解决方案,是因为只有在网站环境中才能使用PHP方法.每当您进入插件或注入的脚本上下文(即为Firefox,Chrome或Safari开发插件)时,您可能希望避免要求服务器端响应.
我试着用window.open()和 实现这一点document.execCommand("saveAs",....它确实有效,虽然它很糟糕并且无法存档.
然后,我尝试了在每种情况下都不起作用的Downloadify.
是否有纯JavaScript,没有Ajax方式来触发下载提示,因此用户可以使用简单的左键单击直接下载文件?
我有一个PDF文件可以在除Firefox/Safari之外的所有浏览器上下载.它在浏览器窗口中打开它而不是下载文件.我的网站运行在node.js之上并托管在Azure中.用户下载的文件来自Azure blob存储,所以我怀疑这可能是一个CORS问题.
这是我下载的客户端代码:
<a href="{{fileURL}}" class="btn btn-default" download="myfile.pdf">Download File</a>
Run Code Online (Sandbox Code Playgroud)
这是服务器端代码:
$scope.fileURL = 'https://myblob.blob.core.windows.net/8282020/myfile.pdf';
Run Code Online (Sandbox Code Playgroud)
更新:我可以通过在Azure中根据以下帮助设置blob属性来添加内容处置,并且它将处置显示为"附件",但在FireFox/Safari中它仍然在浏览器中打开.这可能被阻止,因为Azure Blob存储可能被视为CORS?
更新2:将以下内容添加到我的HTML标记似乎在FireFox(但不是Safari)中有效,这是跨浏览器处理此问题的正确方法
type="application/octet-stream"
Run Code Online (Sandbox Code Playgroud)
更新3:通过节点设置内容处置和内容类型似乎正在工作.我不得不问,这是正确的方法吗?
blobSvc.setBlobProperties(containerName, filename, { contentDisposition: 'attachment', contentType: 'application/octet-stream' }, function (error, result, response) {
// result code here....
})
Run Code Online (Sandbox Code Playgroud) 我想点击一个链接开始下载图像.
<a id="downloadImage" href="imagepath">Click here to download</a>
Run Code Online (Sandbox Code Playgroud)
我知道我们可以使用HTML5的下载属性(强制浏览器在点击链接后保存文件)但我不想使用它,因为它不适用于旧版本的浏览器.我在这里尝试了这个方法: 使用Javascript/jQuery下载文件, 但它会在iframe中打开图像.
任何人都可以帮我强迫浏览器使用jquery下载链接图像吗?
嗨,大家好我使用一个简单的HTML链接来保存生成的.xml文件
<a href="./serverfile.xml">Save your file</a>
Run Code Online (Sandbox Code Playgroud)
问题是,当我点击上面的链接时,浏览器不是打开文件对话框将文件保存在我的本地Windows计算机中,而是像网页一样打开它.
这个问题有什么解决方案吗?也许是一些JavaScript或者什么....也可以在定义的文件夹路径中打开文件对话框?
非常感谢 !