2015-05-22 5 views
2

мне нужно добавить некоторые URLS к PDFs в моем теле письмаВставка ссылки внутри Mailto тела

Outlook может создать кликабельным (Ctrl + клик правой) ссылки внутри тела. Проблема в том, что если у меня есть пробелы в имени pdf, URL-адрес разбивается.

Вот html, сгенерированный в моем приложении. Проблема заключается только в пространствах внутри url. Я пытался заменить URL-адреса на стороне сервера «% 20», но это также не помогло.

<a href="mailto:;[email protected];?Subject=SomeSubject&amp;body=http://someUrl/File%20name%202015-05-21%2011-21-08.pdf%0D%0A%0D%0A" title="title" class="btn">Send email</a> 

URL Clickable сломается на первом пространстве:

http://someUrl/File... 

есть в любом случае для кодирования URLs так прогноз будет создавать соответствующие ссылки внутри тела?

Cheers!

ответ

1

У вас не может быть пробелов в URL-адресах, поэтому вы должны закодировать пространство в имени файла, чтобы создать URL-адрес файла.

mailto: URL-адреса являются URL-адресами, поэтому закодированное пространство будет преобразовано обратно в обычное пространство при его разборе. При вставке одного URL в другой вы должны кодировать все специальные символы в вложенном URL (т. Е. Вам нужно преобразовать % символов в %25).

+0

, но даже если я кодирую URL-адрес, т.е. используя HttpUtility.UrlPathEncode, и все символы получаются закодированными (пробел до% 20 и т. д.), когда я нажимаю ссылку в html, URL-адреса в Outlook становятся декодированными, и я получаю только частичную ссылку. –

+1

@ MateuszMigała - Итак, вы закодировали пробелы в имени файла, который хотите поместить в URL-адрес HTTP. Вы не закодировали знаки% в URL-адресе, который хотите поместить в URL-адрес mailto. (Это скорее точка этого ответа). – Quentin

Смежные вопросы