2012-10-11 49 views
5

我有一个问题: href="file://" 嗯,我想点一个链接在HTML到文件,在浏览器中,如果我写这样HREF =“文件://”不工作

file:///K:/filename.pdf 

它作品打开一个文件,但如果我指向它:

 href="http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf" 

它不起作用。链接更改为:

file///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf 

colon文件消失后。有什么建议可以做什么?

+4

你在做什么,点g'href =“http:// file:/// K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf”'?这是无效的! –

+0

建议?链接您的文件相对于您的网页。 ''并将文件存储到'files /'文件夹中。例如 – Touki

+0

'http'是一个指向Web资源的协议,同样是'file'指向一个本地资源 - 你不能在href中使用它们。 – Christoph

回答

8

您的网址被改写为file///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf的原因是因为你指定http://file://

http://开头是正在使用的协议,并且您的浏览器正在删除第二个冒号(:),因为它是无效的。

注意

如果您链接到类似

<a href="file:///K:/yourfile.pdf">yourfile.pdf</a> 

上面描述了一个链接到第k称为k:/yourfile.pdf文件:驾驶机器上,你正在查看URL。

你可以做到这一点,例如下面创建一个指向C:\temp\test.pdf

<a href="file:///C:/Temp/test.pdf">test.pdf</a> 

通过指定文件://你表示这是一个当地的资源。此资源不在互联网上。

大多数人没有K:/驱动器。

但是,如果这是你正在努力实现的,那很好,但这不是一个网页上的“典型”链接的工作原理,除非每个人都要访问您的链接可以访问(相同的?)K:/驱动器(这可能是共享网络驱动器的情况)。

你可以尝试

<a href="file:///K:/AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a> 
<a href="AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a> 
<a href="2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a> 

注意http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf是畸形的

0

%20是AmberCRO SOP之间的空间。

尝试 -

href="http://file:///K:/AmberCRO SOP/2011-07-05/SOP-SOP-3.0.pdf" 

或重命名文件夹AmberCRO-SOP并把它写成 -

href="http://file:///K:/AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf" 
+6

'http:// file://'? – Touki

+0

@Touki我猜FireFox会在你的硬盘上打开本地文件时添加file:/// – Dipak

0

分享您的 “每个人” 或某个特定组的文件夹,并尝试这个办法:

<a href="file://YOURSERVERNAME/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf"> Download PDF </a>

+0

技术上它应该是'file:///// YOURSERVERNAME'。 'file://'是协议位,'/'是根目录,'// YOURSERVERNAME'是服务器的网络地址 - 事情 - 我不能记住这个名字-的。 – wizzwizz4