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

xyd*_*dev 18 android image webview

使用以下代码

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);
Run Code Online (Sandbox Code Playgroud)

图片未加载...

也试过了

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 = "<html><head></head><body><img src=\""+ imagePath + "\"></body></html>";
mWebView.loadData(html, "text/html","utf-8");
Run Code Online (Sandbox Code Playgroud)

请帮忙

xyd*_*dev 53

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", "");  
Run Code Online (Sandbox Code Playgroud)

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

  • 当我插入`mWebView.loadDataWithBaseURL("",content,"text/html","utf-8","");`而不是`mWebView.loadData(html,"text/html"," UTF-8" );` (6认同)