大家!我已将大量图片压缩为“pictures.zip”文件.我想将这些图片之一加载到WebView,如下所示:
WebView wv = (WebView)findViewById(R.id.WebView01); wv.loadDataWithBaseURL(null,"<img src=\"abc.jpg\">","text/html","UTF-8",null);
这里,“abc.jpg”是一张已压缩为pictures.zip文件的图片.
>我只想解压缩zip文件中的图片并获取
图片的字节流,然后
将图像加载到WebView
字节流.
>我不想解压缩
然后是来自zip文件的图片
将其保存到SD卡然后加载它.
>而且,我不想编码
pitcture的字节到base64然后
将图像加载到WebView
或者,因为这两种方式都会
非常慢
解决方法
据我所知,没有办法满足所有这三个要求.如果您不想将其写入存储,Base64对其进行编码并将其直接加载到图像标签中可能是您最好的选择,尽管您仍然可以将其写入内部存储并在webview中显示.
private static final String HTML_FORMAT = "<img src=\"data:image/jpeg;base64,%1$s\" />"; private static void openJpeg(WebView web,byte[] image) { String b64Image = Base64.encode(image,Base64.DEFAULT); String html = String.format(HTML_FORMAT,b64Image); web.loadData(html,"utf-8"); }