最近在使用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即可显示图片