使用 Javascript,我正在对 WCF 服务进行 AJAX 调用,它返回一个字节数组。如何将其转换为图像并将其显示在网页上?
最佳答案
我意识到这是一个旧线程,但我设法通过网络服务上的 AJAX 调用来做到这一点,并认为我会分享......
<img id="ItemPreview" src="" />
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
timeout: 10000,
url: 'Common.asmx/GetItemPreview',
data: '{"id":"' + document.getElementById("AwardDropDown").value + '"}',
success: function (data) {
if (data.d != null) {
var results = jQuery.parseJSON(data.d);
for (var key in results) {
//the results is a base64 string. convert it to an image and assign as 'src'
document.getElementById("ItemPreview").src = "data:image/png;base64," + results[key];
}
}
}
});
我的“GetItemPreview”代码查询一个 SQL 服务器,其中我将图像存储为 base64 字符串,并将该字段作为“结果”返回:
string itemPreview = DB.ExecuteScalar(String.Format("SELECT [avatarImage] FROM [avatar_item_template] WHERE [id] = {0}", DB.Sanitize(id)));
results.Add("Success", itemPreview);
return json.Serialize(results);
神奇之处在于这一行的 AJAX 调用:
document.getElementById("ItemPreview").src = "data:image/png;base64," + results[key];
享受!
关于javascript - 如何将字节数组转换为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4564119/