从Amazon S3将图像加载到WebView网站

时间:2016-03-19 16:50:46

标签: java android amazon-web-services amazon-s3 webview

问题:我有一个网站,我试图在Android WebView中显示。文字显得很好,但图片似乎是空白的。经过进一步调查后,该站点使用Amazon S3存储空间上的图像存储。然后每次从加载页面的服务器检索图像。任何帮助将不胜感激,代码和图片如下。

图片:

在浏览器中

Main Page within the browser

在App中

Main Page within the app

尝试调试WebView活动的代码。请注意,这是我第一次使用Android Webview的chrome调试。我现在把它缩小到个人资料图片代码,看看发生了什么。代码中的个人资料图片显示精美,但图片本身并未显示。代码如下:

<div class="profile-photo pull-right"><img src="http://realzim.s3.amazonaws.com/file/user/realzim/India/25/user_image/1440307265.jpg" width="55" height="55" class="img-thumbnail"></div>

错误代码:

Mixed Content: The page at 'https://www.realzim.com/mobile/' was loaded over HTTPS, but requested an insecure image 'http://realzim.s3.amazonaws.com/file/user/realzim/India/25/user_image/1440307265.jpg'. This request has been blocked; the content must be served over HTTPS.

Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher

如果我错了,请告诉我。这是我第一次处理这类问题。非常感谢投入,谢谢。

1 个答案:

答案 0 :(得分:0)

好的,所以我想我已经知道了。首先,非常感谢Mark B向我介绍了精彩的Chrome调试工具,并指出了我正确的方向。

在原始问题中,我发布了两个我遇到的错误。在知道问题到底是什么,并做了一些研究后,我设法实现了一个有效的解决方案。以下是帮助解决此问题的代码:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
        webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }

这基本上有助于为任何运行KITKAT SDK或更高版本的手机设置混合内容。

希望此解决方案能够在将来帮助其他人。

资源:

StackOverflow - Android WebView blocks redirect from https to http