小编典典

如何将字节数组转换为图像?

ajax

使用Javascript,我正在对WCF服务进行AJAX调用,并且正在返回字节数组。如何将其转换为图像并显示在网页上?


阅读 253

收藏
2020-07-26

共1个答案

小编典典

我意识到这是一个旧线程,但是我设法通过Web服务上的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 Server,其中我将图像存储为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];

请享用!

2020-07-26