我有一个WCF服务,该服务返回与位图图像等效的base64字符串。

return Convert.ToBase64String(ImgBytes);

我正在使用ajax调用此服务。该代码是这样的,
jQuery.ajax({
     url: MY_SERVICE_URL,
     type: "GET",
     dataType: "html",
     success: AjaxSucceeded,
     error: AjaxFailed
});

function AjaxSucceeded(result, textStatus, request) {
    var binary = "";
    var responseText = request.responseText;
    var responseTextLen = responseText.length;

    for (i = 0; i < responseTextLen; i++) {
         binary += String.fromCharCode(responseText.charCodeAt(i) & 255);
    }

    $("#myimage").attr("src", "data:image/jpg;base64," + btoa(binary));
}

但是我看不到任何图像。

我也尝试使用dataType作为“文本”。

我已经尝试打印要分配给img标签src的数据。我使用了数据here,在那里我可以看到图像。

如果我对响应值进行硬编码,例如,我也可以查看图像。
document.getElementById("myimage").src = "data:image/jpg;base64," + "Qk02EA4AAA...."

我尝试搜索各种论坛。但不幸的是,我无法弄清楚这一点。我想念什么吗?

提前致谢。

最佳答案

如果您使用的是jquery,则应这样使用

$("#myimage").attr("src","data:image/jpg;base64," + "Qk02EA4AAA....")

关于javascript - 从ajax响应到img标签的base64字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40249105/

10-11 23:47