在webview中加载保存在SD卡中的图像

使用以下代码

mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setAllowFileAccess(true); mWebView.getSettings().setJavaScriptEnabled(true); String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); String imagePath = base + "/test.jpg"; mWebView.loadUrl(imagePath); 

图片没有加载……

也试过了

 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 = base + "/test.jpg"; String html = ""; mWebView.loadData(html, "text/html","utf-8"); 

请帮忙

 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 = ""; mWebView.loadDataWithBaseURL("", html, "text/html","utf-8", ""); 

这就行了,因为我们必须在任何文件之前附加“prefix”file://“以便在webview中显示

WebViews可以显示HTML而不是图像。 您需要使用ImageView或生成一些带有显示图片的图像标记的HTML。 如果它需要是动态的,您可以将其生成为String并使用loadData()方法来显示它。

编辑:你将在你的html字符串中想要这样的东西。

 String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); String imagePath = base + "/test.jpg"; String html = ("       "); mWebView.loadData(html, "text/html","utf-8"); 

我尝试了之前提到的方法但没有成功,所以这是我从外部存储加载图像的选项:

将图像直接加载到WebView中。

假设我在外部存储目录的根目录中有一个名为image.jpg的图像(在我的情况下为/storage/emulated/0/image.jpg )。

  String pathExternalStorage = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); String imagePath = pathExternalStorage + "/" + "imagen.jpg"; /* //We can chek if the file really exists. File archivo = new File(imagePath); if(archivo.exists()){ Log.i("TAG" , "EXISTS " + imagePath); }else{ Log.e("TAG" , "DOESN´T EXISTS " +imagePath ); } */ String imagePath = "file://" + imagePath; webView.loadUrl(imagePath); 

使用html模板加载图像以加载到WebView中。

  String pathExternalStorage = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); String imagePath = pathExternalStorage + "/" + "image.jpg"; String imagePathWV = "file://" + imagePath; String html = (""); webView.loadDataWithBaseURL(null, html, "text/html","utf-8",null); 

在此处输入图像描述