在文件名中的URL中使用字符#

时间:2014-02-03 11:34:07

标签: html internet-explorer url file-uri percent-encoding

我需要为此href="file://attachments/aaaa_#_aaaa.msg"添加一个链接 显然,这种方式不起作用,因为哈希字符#用于锚点。

所以我尝试将其更改为:href="file://attachments/aaaa_%23_aaaa.msg" 但是当我在IE中打开网址时,浏览器会尝试打开它:href="file://attachments/aaaa_%2523_aaaa.msg" IE正在将%字符编码为%25

如何将文件名放在URL中以编码并读取所有浏览器中的哈希字符#以下载文件?

我无法更改文件名以删除此字符,因此我需要一种方法来处理此问题。

1 个答案:

答案 0 :(得分:1)

如果你能够重命名你的文件,那么你将避免很多很多痛苦,因为他们不会包含#34;#"字符。只要他们这样做,您可能会遇到当前和未来的跨浏览器问题,代表未来的开发人员处理您的代码时会产生混淆(或者当您忘记了以下内容时,代表您的混淆;编码)等等。此外,一些Unix / Linux系统不允许"#"在文件名中。不确定您使用的操作系统,但您的文件名应尽可能在操作系统上尽可能便携,即使您确定"确定"现在你永远不会在其中一个系统上运行。