Используйте символ # в URL внутри имени файла

Мне нужно поставить ссылку с этим href="file://attachments/aaaa_#_aaaa.msg"Очевидно, что таким образом не работает, потому что хэш-символ # используется для якорей.

Поэтому я пытаюсь изменить это на: href="file://attachments/aaaa_%23_aaaa.msg"но когда я открываю URL в IE, браузер пытается открыть это: href="file://attachments/aaaa_%2523_aaaa.msg"IE кодирует % характер для %25

Как я могу поставить имя файла в URL, чтобы закодировать и прочитать хэш-символ # во всех браузерах скачивать файл?

Я не могу изменить имя файла, чтобы удалить этот символ, поэтому мне нужен способ справиться с этой проблемой.

1 ответ

Вы избежите много-много-много боли, если сможете переименовать файлы, чтобы они не содержали символ "#". Пока они это делают, у вас, вероятно, будут возникать текущие и будущие проблемы с кросс-браузерной обработкой, путаница со стороны будущих разработчиков, работающих над вашим кодом (или путаница от вашего имени в будущем, когда вы забудете все тонкости кодирования)) и т. д. Кроме того, некоторые системы Unix/Linux не допускают "#" в именах файлов. Не уверен, какую ОС вы используете, но ваши имена файлов должны быть максимально переносимыми между операционными системами, даже если вы сейчас "уверены", что никогда не будете работать на одной из этих систем.

Другие вопросы по тегам