将图像从本地android sd卡显示到WebView

时间:2018-03-19 11:48:09

标签: javascript java android webview android-webview

我想知道是否有办法从Android SD卡显示本地图像到WebView?

我已经检查了这个site以及类似的问题,但他们都说你可以使用loadDataWithBaseUrl。但是他们所有人都没有达到我的期望,例如:

String html = new String();
    html = ("<html><body><header><h1>Title</h1></header><section><img src=\""+URI_PREFIX+IMAGE_FILENAME+"\" align=left><p>Content</p></section></body></html>" );

    web.loadDataWithBaseURL(URI_PREFIX,
    html,
    "text/html",
    "utf-8",
    "");

它从Java(Android)创建一个html,我不希望它像那样。我希望它只加载网址(例如 http://example.com )和将Android SD卡中的本地图片传递给 http://example.com 。我希望这样,因为URL会随着时间的推移而改变,并且没有办法如果我每次需要更改html时都必须更改我的Android应用程序。

使用案例是: 在webview /网站上,我将调用Android的功能来打开相机并拍照(直到这里工作正常)。问题来了,图片保存到Android本地SD卡,我需要在webview /网站上显示图像,到目前为止我还没有找到任何答案。

需要你的帮助,谢谢

1 个答案:

答案 0 :(得分:0)

1.遵循以下代码。

WebView mWebView;
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(true);

String base =Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath = "file://"+ base + "/test.jpg";
String html = "<html><head></head><body><img src=\""+ imagePath + "\"></body></html>";
mWebView.loadDataWithBaseURL("", html, "text/html","utf-8", "");