8

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

所以我尝试将其更改为:href="file://attachments/aaaa_%23_aaaa.msg" 但是当我在 IE 中打开 url 时,浏览器正在尝试打开它:href="file://attachments/aaaa_%2523_aaaa.msg" IE is encoding the %character to%25

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

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

4

1 回答 1

2

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

于 2014-02-09T01:46:31.633 回答