<href 下载>单击时不会下载



我正在用Python和Flask构建一个web应用程序。这是目录结构:

TopWebApp   
│
└───webApp
│   │   ui.py
│   │   back-end.py
│   │   result.txt
│   │
│   └───templates
│       │   index.html
│       │   ...
│   
└───venv
| ...

在index.html中,我有:

<a href="C:Users...webAppresult.txt" download>
<button>click here</button>
</a>

在chrome 70中,当我单击"单击此处"按钮时,不会下载任何内容,如果我在新选项卡中打开它,新选项卡将显示"about::blank"。

由于result.txt保存在同一目录下,我尝试更改"href=".result.txt"one_answers"href="./result.txt",但下载时收到一个失败-无文件。你知道为什么会发生这种事吗?

作为一种安全措施,浏览器将阻止通过超链接链接到本地文件(例如C:驱动器上的文件(。该包括具有download属性的超链接。如果您希望允许用户从您的服务器下载,则需要相对于服务器本身进行引用。这可以用https://www.yourwebsite.com/yourfile.txt这样的绝对链接来完成,不过我建议使用相对链接,比如:

<a href="../result.txt" download>
<button>click here</button>
</a>

请注意,在这个特定的示例中,该文件是链接到它的文件的一个文件夹,因此您需要使用../遍历目录结构。

如果您只是直接通过文件资源管理器打开文件(与localhost相反,您需要file:///前缀,如file:///C:/Users/.../webApp/result.txt。请注意开头的三个正斜杠和整个正斜杠。

最新更新