响应类型blob但获取xml数据

时间:2015-12-29 05:59:10

标签: javascript angularjs blob

我有一个angularjs函数来调用API。 API返回一次图像。它再次返回一个xml。如果我将响应类型blob设置为

,我可以显示返回的图像
$http({
        url: apiConstants.BASE_URL + 'login',
        method: "POST",
        responseType: "blob",
        data: {
            "Req": req
        },
        headers: {
            'X-Username': aUser,
            'X-Password': aPass,
            "Content-Type": "application/xml"
        },
        dataType: "xml"
    }).success(function(data, status) {
       console.log(data);
    }

console.log打印blob对象。但是当API返回xml内容时,它也作为blob对象返回。我试图获取blob的xml内容,但找不到方法:(。有人建议我从blob对象获取xml数据的方法

1 个答案:

答案 0 :(得分:0)

最后我找到了答案。我们可以使用FileReader提取blob对象。

我做的是,

$http({
    url: apiConstants.BASE_URL + 'login',
    method: "POST",
    responseType: "blob",
    data: {
        "Req": req
    },
    headers: {
        'X-Username': aUser,
        'X-Password': aPass,
        "Content-Type": "application/xml"
    },
    dataType: "xml"
}).success(function(data, status) {
    var reader = new FileReader();
    reader.addEventListener("loadend", function() {
         console.log(reader.result);
    }

    reader.readAsText(data);
}