我有一些大尺寸的PDF目录在我的网站上,我需要链接这些下载。当我在谷歌上搜索时,我发现下面有这样一件事。它应该打开“另存为…”弹出链接点击…

 <head>
    <meta name="content-disposition" content="inline; filename=filename.pdf">
    ...

但它不工作:/当我链接到一个文件如下,它只是链接到文件,并试图打开文件。

    <a href="filename.pdf" title="Filie Name">File name</a>

更新(根据以下答案):

据我所知,没有100%可靠的跨浏览器解决方案。也许最好的方法是使用下面列出的web服务之一,并提供下载链接…

http://box.net/ http://droplr.com/ http://getcloudapp.com/


当前回答

我为Firefox找到了一个非常简单的解决方案(只适用于相对而不是直接href): add type="application/octet-stream":

<a href="./file.pdf" id='example' type="application/octet-stream">Example</a>

其他回答

我为Firefox找到了一个非常简单的解决方案(只适用于相对而不是直接href): add type="application/octet-stream":

<a href="./file.pdf" id='example' type="application/octet-stream">Example</a>

在HTML代码中的文件名之后,我添加?forcedownload=1

对我来说,这是触发对话框进行保存或下载的最简单方法。

Chrome 91有一个新的变化,它支持Chrome 86-90和91+。 下面的语法将使其发生。

const fileHandle = await self.showSaveFilePicker({
   suggestedName: 'Untitled Text.txt',
   types: [{
      description: 'Text documents',
      accept: {
        'text/plain': ['.txt'],
      },
   }],
});

点击此处阅读更多信息:

https://developer.chrome.com/blog/new-in-chrome-91/

**另一个解决方案,你可以把它作为一个blob,然后使用savas **

const blob = fetch("some-url-here").then(data => data.blob());
saveAs(blob, "filename.txt")

我刚刚用了这个,但我不知道它是否适用于所有浏览器。

它适用于Firefox:

<a href="myfile.pdf" download>Click to Download</a>

对于较大的PDF文件,浏览器挂起。 在Mozilla中,菜单“工具”→“选项”→“应用程序”,然后在内容类型旁边选择adobeacrobat文档。 在Action下拉菜单中,选择Always ask。

这对我没用,所以有用的是:

菜单工具*→附加组件→Adobe Acrobat (Firefox PDF插件)→禁用。 现在我可以下载电子书了!