Я попробовал методы, упомянутые ранее, но безуспешно, поэтому вот варианты, которые сработали для меня, чтобы загрузить изображение из внешнего хранилища:
Загрузка изображения непосредственно в 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 = ("<html><head></head><body><img src=\""+ imagePathWV + "\"></body></html>");
webView.loadDataWithBaseURL(null, html, "text/html","utf-8",null);
![enter image description here](https://i.stack.imgur.com/woagk.png)