Javascript 如何防止Mobile Safari插入PDF';共享时,是否将base64编码的URL插入电子邮件?

Javascript 如何防止Mobile Safari插入PDF';共享时,是否将base64编码的URL插入电子邮件?,javascript,pdf,web,mobile-safari,Javascript,Pdf,Web,Mobile Safari,我有一个javascript web应用程序,可以在用户的浏览器中生成PDF客户端(使用pdfmake) 在mobile Safari中,用户可以打开此PDF并以本机方式查看,但当他们通过电子邮件共享此PDF时,该消息会将PDF的整个base64编码URL插入到电子邮件中,很快就会变得笨拙 我需要做什么工作来阻止它这样做?当用户通过电子邮件共享文档时,是否有办法指定默认消息(可能在某些元数据中) 目前,用户体验是不可接受的,因为用户必须在发送长达数页的消息之前删除整个base64 URL 我宁愿

我有一个javascript web应用程序,可以在用户的浏览器中生成PDF客户端(使用pdfmake)

在mobile Safari中,用户可以打开此PDF并以本机方式查看,但当他们通过电子邮件共享此PDF时,该消息会将PDF的整个base64编码URL插入到电子邮件中,很快就会变得笨拙

我需要做什么工作来阻止它这样做?当用户通过电子邮件共享文档时,是否有办法指定默认消息(可能在某些元数据中)

目前,用户体验是不可接受的,因为用户必须在发送长达数页的消息之前删除整个base64 URL


我宁愿不必先将PDF发送到服务器以获得较小的URL

当用户转到“通过电子邮件共享”选项时,请按如下方式解码Base64

let decodedData = NSData(base64EncodedString: base64String!, options: NSDataBase64DecodingOptions(rawValue: 0))
let decodedString = NSString(data: decodedData, encoding: NSUTF8StringEncoding)
print(decodedString)
现在使用
decodedString
作为
MFMailComposeViewController

mailComposerVC.setMessageBody(decodedString, isHTML: false)

好吧,你可以通过电子邮件绕过浏览器共享,提供你自己的,利用mailto:用户可以看到它的地方

另一个未经测试的想法是,您可以将PDF包装在iframe中,然后当页面被转发时,将共享宿主页面,而不是PDF,这可能需要使用PDF查看器脚本,例如google的脚本,类似于:

    <iframe src="https://docs.google.com/viewerng/viewer?url={{ URL to your PDF goes here  }}&embedded=true" frameborder="0" height="100%" width="100%">
</iframe>



这个问题是针对web应用程序而不是iOS appOhk的,我看到了iOS标签,因此分享了答案。没有关系。