Я понимаю, что это старая ветка, но мне удалось сделать это через AJAX-вызов веб-службы, и я решил поделиться ...
У меня уже есть изображение на моей странице:
<img id="ItemPreview" src="" />
AJAX:
$.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];
Наслаждайтесь!