响应类型 blob 但得到 xml 数据

response type blob but getting xml data

我有一个 angularjs 函数可以调用 API。 API 返回图像一次 time.it 正在返回另一次 xml。如果我将响应类型 blob 设置为 follow

,我可以显示返回的图像
$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 returns xml 内容时,它也作为 blob 对象返回。我试图获取 blob 的 xml 内容,但找不到方法:(。有人可以建议我一种从 blob 对象 xml 获取数据的方法

终于找到答案了。我们可以使用 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);
}