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

aji*_*nez 7 html url internet-explorer percent-encoding file-uri

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

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

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

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

小智 2

如果您能够重命名文件以使它们不包含“#”字符,您将避免很多很多很多痛苦。只要它们这样做,您就可能会遇到当前和未来的跨浏览器问题,让未来开发人员在您的代码上工作时感到困惑(或者当您忘记编码的来龙去脉时,您将来会感到困惑) )等。此外,某些 Unix/Linux 系统不允许在文件名中使用“#”。不确定您正在使用什么操作系统,但您的文件名应该尽可能跨操作系统移植,即使您现在“确定”您永远不会在这些系统之一上运行。