我有一个期望格式的API:
/api/download/file%20name/file%2fpath
参见spaces
和作为
%20
和%2f
当我创建一个Maitto链接时:
mailto:?subject=file%20name&body="example.com/api/download/file%20name/file%2fpath
客户(我的需求仅是Outlook)在创建电子邮件中逃脱了这些值,从而用真实的空格和斜线代替URL中的ESC的值,因此使URL无效。
最终以该example.com/api/download/file name/file/path
为正文
无论如何是否有通过不同的编码邮件来防止这种情况的?目前,我无法编辑API格式。
使用 encodeURIComponent
在URL中传递值。
var url = 'mailto:'+
'?subject='+encodeURIComponent('file name')+
'&body='+encodeURIComponent('example.com/api/download/file name/file/path')