7

我有一个问题: href="file://" 嗯,我想在 html 中指向文件的链接,如果我这样写的话,在浏览器中

 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

4 回答 4

12

您的 URL 被重写的原因file///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf是因为您指定了http://file://

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

笔记

如果你链接到类似的东西

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

上面表示一个文件的链接,该文件在您正在查看 URL的机器k:/yourfile.pdf上 的 k: 驱动器上调用。

你可以这样做,例如下面创建一个链接到C:\temp\test.pdf

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

通过指定 file:// 您表明这是一个本地资源。该资源不在互联网上。

大多数人没有 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是一个格式错误

于 2012-10-11T10:42:31.517 回答
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"
于 2012-10-11T10:06:16.367 回答
0

为“每个人”或某个特定组共享您的文件夹,然后尝试以下操作:

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

于 2015-06-10T15:35:05.720 回答
0

尽管 ffile:////.exe 曾经可以工作(例如 - 早期 html 4 的某些版本),但似乎 html 5 不允许这样做。使用以下测试:

<a href="ffile:///<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://<path name>/<filename>.exe" TestLink /a> 
<a href="ffile:/<path name>/<filename>.exe" TestLink /a> 
<a href="ffile:<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://///<path name>/<filename>.exe" TestLink /a> 
<a href="file://<path name>/<filename>.exe" TestLink /a> 
<a href="file:/<path name>/<filename>.exe" TestLink /a> 
<a href="file:<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://///<path name>/<filename>.exe" TestLink /a>

以及... 1/ 仅用“file”替换“ffile” 2/ 所有上述变体都在 ffile 或文件之前添加了 http:// 前缀。

我能看到的最好的情况是,如果一个人想要打开(编辑)或保存文件,它是可以完成的。但是,exec 文件不会以其他方式执行。

于 2019-02-03T16:37:50.360 回答