通过SapUI5访问html基本保护图像&科尔多瓦

时间:2015-02-28 07:01:14

标签: android cordova xmlhttprequest basic-authentication sapui5

我正在尝试访问受简单的http基本身份验证机制保护的图像。此示例在使用我的浏览器时工作正常

...
var mImage = sap.m.Image("Im1");
mImage.setSrc("http://user:password@192.168.0.100/image.jpg");
...
var page = new sap.m.Page({
title: "Image",
content: mImage        
}

然而,当我将它包装在Cordova容器(Android)中时,这种附加用户+ pw的简单方法似乎不起作用。网络服务器响应401错误,我的应用程序不发送身份验证标题。

我尝试过的下一步是在尝试访问时间图像网址之前发送XmlHttRequest:

        var xhr =new XMLHttpRequest();
        xhr.open("GET", "http://192.168.0.100/image.jpg", true, "user", "password");
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                alert(xhr.responseText); //returns the image in text form i.e. authentication works fine
                mImage.setSrc("http://192.168.0.100/image.jpg") //returns a 401
            }
        };
        xhr.send(null);

又一次失败。我的印象是,一旦我通过身份验证,我就会得到一个会话。但显然xhr会话和sap.m.image会话似乎是分开的。

有关如何解决此问题的任何想法

1 个答案:

答案 0 :(得分:0)

我发现这似乎是Android Webview中的一个错误。它在Android 5-中修复。这对我来说很好,我上面的例子工作正常