从JSON编码的二进制数据恢复图像

时间:2013-11-02 04:00:32

标签: c# json image windows-phone-8 azure-mobile-services

我正在开发一个Windows Phone应用程序,它通过Windows Azure移动服务接收数据。

我正在尝试从数据库中获取图像并将其显示在应用程序中。目前,我通过Windows Azure移动服务API中的嵌入式SQL语句接收图像。可以在此处找到一个示例API Example。所有结果都以JSON字符串格式返回。

如何将结果中Image字段的值转换为可以在应用程序中显示的图像。

我假设我需要一个Image数组然后将每个值转换为图像并以这种方式显示图像。

我很感激任何提示或建议。谢谢!

编辑:

以下是我用来从SQL数据库中获取结果的API。

exports.get = function(request, response) {

if (request.query.phoneID && request.query.phoneName)
{
    response.send("ERROR #1: too many paramaters");
}
else
{
    var sql = "SELECT wptracker.Photos.* " +
              "FROM wptracker.PhonePhotos " +
              "INNER JOIN wptracker.Phones ON PhonePhotos.PhoneID = Phones.id " + 
              "INNER JOIN wptracker.Photos ON PhonePhotos.PhotoID = Photos.id ";

    var params = [];

    if (request.query.phoneName)
    {
        sql += 'WHERE wptracker.Phones.FullName = ?'
        params.push(request.query.phoneName);            
    }
    if (request.query.phoneID)
    {
        sql += 'WHERE wptracker.Phones.ID = ?'
        params.push(request.query.phoneID);            
    }        

    request.service.mssql.query(sql, params,
    {
        success: function (results)
        {
            response.json(statusCodes.OK, results);
        },
        error : function()
            {
                response.send("ERROR 2: query returned no results found.")
            }
    }
    );
}

}

1 个答案:

答案 0 :(得分:0)

假设您已查询过您的表格,该字段的值位于名为imageField

的变量中
string base64 = Convert.ToBase64String(imageField);
string htmlString="<img src=\"data:image/png;base64,"+base64+"\">";

但您需要将png更改为实际格式