当前位置: 首页 > 面试题库 >

如何在本地运行的网页上创建指向本地文件的链接?

姚兴安
2023-03-14
问题内容

我想要一个html文件,该文件可以整理分散在我的硬盘中的某些文件。例如,我有两个文件可以链接到:

  • C:\Programs\sort.mw
  • C:\Videos\lecture.mp4

问题是我希望这些链接充当文件的快捷方式。我尝试了以下方法

<a href="C:\Programs\sort.mw">Link 1</a>
<a href="C:\Videos\lecture.mp4">Link 2</a>

…但是第一个链接不执行任何操作,第二个链接在Chrome中而不是VLC中打开文件。

我的问题是:

  1. 有没有一种方法可以调整我的HTML,以将链接视为文件的快捷方式?

  2. 如果没有办法调整HTML,是否还有其他方法可以整齐地链接到分散在整个硬盘驱动器中的文件?

我的计算机运行Windows 7,网络浏览器是Chrome。


问题答案:

file:///如果要链接到本地​​文件,则需要使用该协议(是,三个斜杠)。

<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>

这些将永远不会自动在本地应用程序中打开文件。
出于安全原因,我将在上一节中介绍。如果打开,它将仅在浏览器中打开。如果您的浏览器可以显示文件,它将显示,否则,它可能会询问您是否要下载文件。

某些浏览器,例如现代版本的Chrome,甚至会拒绝从http协议转换为文件协议,因此,如果您想做所有这些事情,最好确保使用文件协议在本地打开它。

为什么没有卡住file:///

URL的第一部分是协议。协议是几个字母,然后是冒号和两个斜杠。HTTP://并且FTP://是有效的协议;C:/不是,而且我很确定它甚至与其中的一个都不像。

C:/也不是有效的网址。浏览器可能会认为它http://c/指定了一个空白端口,但这将失败。

您的浏览器可能不会认为它引用的是本地文件。做出这一假设没有什么理由,因为公共站点通常不尝试链接到人们的本地文件

因此,如果要访问本地文件:告诉它使用文件协议。

为什么三个斜杠?

因为它是File URIscheme的一部分。您可以选择在前两个斜杠后指定主机。如果您跳过指定主机,则仅假设您正在引用自己PC上的文件。这file:///C:/etc是的捷径file://localhost/C:/etc

这些文件仍将在您的浏览器中打开,这很好

您的浏览器将对这些文件的响应与对Internet上任何地方的相同文件的响应相同。这些文件 将不会 在默认文件处理程序(例如MS Word或VLCMedia Player)中打开,并且您 将无法 执行任何操作,例如要求File Explorer打开文件的位置。

对于您的安全而言,这是一件非常好的事情。

浏览器中的站点无法很好地与操作系统交互。如果一个好的网站可以告诉你的机器开 lecture.mp4VLC.exe ,恶意网站可以告诉它打开_virus.bat_ 中 的CMD.exe 。或者它可能只是告诉您的计算机运行一些 Uninstall.exe 文件或打开文件浏览器一百万次。

这可能对您来说并不方便,但是HTML和浏览器的安全性并不是真正针对您的工作而设计的。如果您希望能够打开 lecture.mp4 在 _VLC.exe_考虑编写一个桌面应用程序来代替。



 类似资料:
  • 我习惯于做出反应并执行以使我的应用程序在本地运行。但是,当我在新项目上运行该脚本时,它会提示没有开始脚本。经进一步检查,没有。 如果这是我的的样子,我如何让它在本地运行? 这是一个Laravel环境,后端使用PHP,前端使用Vue。我觉得自己真的很愚蠢,因为我不知道这一点,但当我搜索时,我也没有找到任何东西。 我正在使用PhpStorm,我下载了XAMPP、Composer和PHP。我不确定我错过

  • 我在Windows7上本地安装DynamoDB。我的项目是一个Node.js(0.12.0),我使用AWS-SDK。

  • 我得到了一些帮助,所以我有一些代码可以使用,但我似乎无法理解这一点,所以,我正在寻求更多的帮助。我正在处理的任务是在本地网页上显示html文件作为链接,并自动更新,因为每天都会有一个新文件夹(插入到同一根文件夹)和一个新文件。 我的问题是访问文件夹和选择的html文件这总是被称为main.html.文件夹有一个不同的名称因为它有一个日期在名称但html文件总是被称为main.html.我想更新每日

  • 问题内容: 我想打开一个本地文件,并返回一个。原因是我需要向正在使用的库中提供,例如: 问题答案: 返回一个 http://play.golang.org/p/BskGT09kxL

  • 这是死胡同还是我错过了一些非常明显的东西?

  • 我的机器上有一堆简单的纯文本文件,里面有关于我学习的各种主题的笔记。我决定用一些css做一个本地html页面,作为快速和简单的和css美化的视图到这些文件中,并使用浏览器来显示它们。所以我有一个页面看起来是这样的。 很明显,单击链接会将我引导到文本文件,但我希望它以css样式显示,所以我认为解决这个问题的方法是获取这些本地文件,并使用onclick事件将它们放入content_box div中,禁