我有一个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/