最近在使用webview显示邮件内容,但是对于邮件中的内联图片加载总是失败,并不能根据图片的cid加载资源。之后尝试把图片下载到本地之后替换cid的方式加载图片,但是还是失败,网上查了很多办法也不行,这里特别提醒在文件路径前加”file:///“的方法没用,因为看到很多帖子给出了这种方法,但是实测没用。
最终解决方法为将cid替换为图片的base64编码即可成功加载图片
var res = message.decodeTextHtmlPart(); //邮件解码结果(HTML)
var content = image.decodeContentMessage();//图片的base64编码
<img src="cid:8029d20$1$17aecf22414$Coremail$wsp4531$163.com" style="max-width: 100%;"> //解码结果中图片资源初始cid
res = res!.replaceAll("cid:" + cid, "data:image/png;base64," + content.toString()); //将cid替换之后将res传入webview即可显示图片
解决WebView内联邮件图片加载失败的问题
在处理邮件内容时,遇到WebView无法加载内联图片的问题,尤其是cid引用的图片。尝试了将图片下载到本地并用file:///前缀替换cid的方法无效。最后找到解决方案是将cid替换为图片的base64编码,成功在WebView中显示了图片。这是一个关于WebView、HTML、邮件解析和图片加载的技术问题。
238

被折叠的 条评论
为什么被折叠?



