首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将存储在字节数组中的图像加载到WebView?

如何将存储在字节数组中的图像加载到WebView?
EN

Stack Overflow用户
提问于 2010-12-21 01:48:40
回答 2查看 6.8K关注 0票数 7

所有人!我已经压缩了很多图片到一个"pictures.zip“文件。我想将其中一张图片加载到这样的WebView中:

代码语言:javascript
运行
复制
WebView wv = (WebView)findViewById(R.id.WebView01);
wv.loadDataWithBaseURL(null,"<img src=\"abc.jpg\">", "text/html", "UTF-8", null);

在这里,"abc.jpg“是被压缩成pictures.zip文件的图片。

  1. I只想从压缩文件中解压缩图片,获取图片的字节流,然后从字节加载图像到WebView -- stream.
  2. I不想从压缩文件中解压缩图片,然后保存到sdcard中,然后加载它。此外,
  3. 也不想将图片编码到base64中,然后将图像加载到WebView,因为这两种方式都会非常慢。
EN

回答 2

Stack Overflow用户

发布于 2011-02-25 05:13:42

据我所知,这三项要求都没有办法做到。如果您不想将其写入存储中,那么Base64编码它并将其直接加载到图像标记中可能是最好的选择,尽管您仍然可以将其写入内部存储并显示在bet视图中。

代码语言:javascript
运行
复制
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, "text/html", "utf-8");
}
票数 6
EN

Stack Overflow用户

发布于 2012-02-23 07:04:49

我建议在您的应用程序中使用可嵌入的HTTP侦听器,其中侦听特定的端口(例如8001),然后在HTML页面中引用到侦听器的图像。例如,寻找Test.png应该是这样的:

http://localhost:8001/Test.png

这个请求将在您的侦听器中结束,在那里您可以查看zip文件或数据库,然后将字节流返回到HTTP响应流!

我确实建议您查看一下NanoHTTPD (http://elonen.iki.fi/code/nanohttpd/),并尝试为您的目标实现自定义服务方法。

我希望这会有所帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4495673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档