如何指定使用HTML文件中的本地文件:计划?(How to specify a local file

2019-06-18 11:08发布

我加载托管在建在Apache服务器的OS X中的HTML文件,该文件我链接到另一个HTML文件在同一目录的范围内:

<a href="2ndFile.html"><button type="submit">Local file</button>

这工作。 然而(理由过于冗长进入)我使用的文件实验:方案,而不是,但我不能得到任何工作。 这里是我正在重新编写使用的文件上面的一行:

<a href="file://192.168.1.57/~User/2ndFile.html"><button type="submit">Local file</button>

(192.168.1.57是我当前的IP地址)

它更改为以下的确也无法正常工作:

<a href="file://Name-Of-MacBookPro/~User/2ndFile.html"><button type="submit">Local file</button>

但该文件无法找到,应如何使用文件中指定:计划?

Answer 1:

file: URL方案是指客户端机器上的文件。 还有就是在没有主机file:计划; 你只需要提供的文件的路径。 所以,你的本地计算机上的文件将是file:///~User/2ndFile.html 。 请注意下列三个斜杠; 该URL的主机部分是空的,所以在路径开头的斜线紧跟在网址开头的双斜杠。 您还需要扩大用户的路径; ~就在不扩大file: URL。 所以,你需要file:///home/User/2ndFile.html (在大多数Unix系统), file:///Users/User/2ndFile.html (在Mac OS X),或file:///C:/Users/User/2ndFile.html (在Windows上)。

许多浏览器,出于安全考虑,不允许从正在从服务器下载到本地文件的文件链接。 所以,你可能无法从通过HTTP加载的页面做到这一点; 你可能只能链接到file:从其他地方的网页的URL。



Answer 2:

“文件”协议不是一个网络协议。 因此文件://192.168.1.57/~User/2ndFile.html根本就没有太大的意义。

问题是,你如何加载的第一个文件。 是使用Web服务器真的做了什么? 并没有真正听起来像。 如果是的话,为什么不使用相同的协议,最有可能的HTTP? 你不能指望简单地切换协议,并使用两种不同的协议以同样的方式...

我怀疑的第一个文件是使用Apache服务器在所有真正加载,而是简单地通过打开这个文件? HREF =“2ndFile.html”只是工作,因为它采用的是“相对URL”。 这使得浏览器使用相同的协议和路径,他从拿到第一(当前)文件。



Answer 3:

在“文件://” URL协议只能用于在本地机器上的文件系统来查找文件。 因为这个HTML代码是由浏览器解释,“本地机器”是运行浏览器的机器。

如果你正在文件中未发现的错误,我怀疑这是因为该文件未找到。 然而,它也可能是浏览器的安全限制。 有些浏览器不会让你从非文件系统的HTML页面引用一个文件系统文件。 你可以尝试使用从运行浏览器的计算机上的命令行中的文件路径,以确认这是一个浏览器限制,不是一个合法的文件丢失。



Answer 4:

我以前在我的情况下,类似的问题,该文件是在另一台机器,所以我已经映射的网络驱动器Z到我的文件,然后我创建了tomcat的上下文所以在我的web项目我可以访问通过上下文中的HTML文件的文件夹位置



文章来源: How to specify a local file within html using the file: scheme?
标签: html url