【发布时间】:2016-01-11 08:37:38
【问题描述】:
在我的 WebView 中,它会加载一个网页,其中包含一个下载带有 base64 数据的图像的链接:
<a href="data:image/jpeg;base64,{base64data}" download="fileName.jpg" target="_blank">Download Image</a>
在 Chrome 中点击它时,它会将图像下载为 JPG 文件。但它在 Android WebView 中不起作用。
Download Images using android webview 表示我应该使用shouldOverrideUrlLoading() 来触发下载。
它适用于像 http://.../image.jpg 这样的图像 URL。但是对于我的 base 64 数据 URL,它仅适用于 4.4 以下的 Android 版本,Android 4.4+ 上永远不会调用方法 shouldOverrideUrlLoading(),因为它必须是根据 Android API Guides 的有效 URL。
所以我的问题是,为什么data:image/jpeg;base64,{base64data} 在这种情况下不是有效的 URL?我应该怎么做才能触发 base64 数据 URL 的shouldOverrideUrlLoading()? (或者甚至通过在网页上进行更改)
任何建议都将受到高度赞赏,我所需要的只是将图像保存在 Android 中。
【问题讨论】:
-
认为 href 应该以协议符号开头。试试 data://。
标签: android html image webview