3

我正在使用 IIS 8 和 .NET 4.5 在 windows8 机器上工作。

我创建了一个 WCF restful 服务,它返回一个 BLOB 作为 JSON 字符串 byte[]。在我的客户端,我得到图像,并尝试以下列方式阅读它们:

getTileUrl: function (tilePoint, zoom, tile) {
    var z = this._getOffsetZoom(zoom);
    var x = tilePoint.x;
    var y = tilePoint.y;
    var base64Prefix = 'data:image/gif;base64,';
this.mbTilesDB.transaction(function(tx) {
        console.log("executing SQL!!!!");
        tx.executeSql("SELECT tile_data FROM images INNER JOIN map ON images.tile_id = map.tile_id WHERE zoom_level = ? AND tile_column = ? AND tile_row = ?", [z, x, y],function(tx,result){
            tile.src = base64Prefix + result.rows.item(0).tile_data; //.rows.item(0).tile_data;
        }, function (er) {
            console.log('error with executeSql', er);
        });
  }); 
},

我收到错误消息:

加载资源数据失败:image/gif;base64,137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1, 0…,237,255,1,100,245,49,110,153,90,168,241,0,0,0,0,73,69,78,68,174,66,96,130

我很确定该项目以错误的格式存储。我一直在环顾四周,但找不到关于如何将 byte[] 解析为 blob 文件的明确示例。我正在使用 Google chrome 在我的桌面上进行开发,但最终它需要在 Phonegap 中工作。

所以我的问题是:如何将 byte[] 转换为正确的 BLOB 格式?

非常感谢您的帮助

4

0 回答 0