【问题标题】:Android: load image from local storage to webviewAndroid:将图像从本地存储加载到 webview
【发布时间】:2013-08-29 04:33:58
【问题描述】:

我下载图像并存储在本地存储中。我从本地存储的 html 文件中加载此图像。
<img src="file:///data/data/com.example/imagefiles/photo.jpg"/>

我从WebView 加载html 文件。 webView.loadUrl("file:///android_asset/show_download_image.html"); 但是图片没有显示。我确信下载图像是成功的。 我想知道是否可以将图像从本地存储加载到 html 文件中,或者有什么方法可以从本地加载图像?

谢谢。

【问题讨论】:

标签: android webview android-webview


【解决方案1】:

为什么不尝试像这样直接加载图像:

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

这里的图像在 sd 卡中。您也可以更改将图像保留在资产中的代码。

【讨论】:

  • 因为我使用jquery并在html中调用jquery函数。我想动态加载图像。所以资产中的保留图像不合适。
  • 但是您说“我下载了图像并存储在本地存储中”。这就是为什么我说您可以将图像下载到 SD 卡或资产文件夹中。
  • 我使用getFilesDir()获取本地目录路径。我不知道如何下载到资产文件夹中。你能给我一些样品吗?
  • 对不起。我犯了一个错误。您无法将图像下载到 Asset 文件夹。但是就不能解决吗?您可以在 SD 卡中下载图像,然后将此图像从 SD 卡加载到 Html 文件(在 Asset 文件夹中)。这可能吗?这只是一个建议。您也可以等待一些更好的答案..
【解决方案2】:

检查你的 webview javaScriptEnabled 是否正确?

   WebView.getSettings().setJavaScriptEnabled(true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    相关资源
    最近更新 更多