我正在将图像存储到cassandra db(blob数据),并且试图获取数据并显示在我的html页面中,但是它显示了一些垃圾数据。
我正在使用cassandra作为数据库,使用节点js作为后端服务器,并使用cassandara-client处理cassandra数据库。
完整说明-
我能够将图像存储到cassandra数据库。
我也从cassandra数据库中获取图像数据,但是我不知道数据是哪种格式?(base64,binary ... etc)。
我还可以使用以下代码将数据写入图像文件中-
var fs = require("fs");
fs.writeFile("file1.png", new Buffer(imgData, "base64"), function(err) {});
但是我不想将数据写入文件。我想将数据直接流式传输为html中的图像。我使用以下代码在html页面中显示图像-
$.ajax({
url: 'http://10.0.0.1:3000/getMap',
type: 'GET',
headers: {
"accept": "image/jpg",
"content-Type": "image/jpg",
},
success: function(data) {
console.log("Inside success");
$('#mapdiv').html('<img src="data:image/jpg;base64,'+data+'" height="200px" width="500px"/>');
}
});
<div id="mapdiv"></div>
但我在div内获取了一些垃圾数据。
预先感谢Subhra
您的二进制内容将以字节数组的形式以大字节序存储在Cassandra中。为了使HTML能够正常工作,您需要首先将该字节数组转换为base64编码的字符串。
不过需要注意的一件事-根据您的计算机的体系结构,您可能需要首先将字节数组转换回小字节序格式。如果使用little endian,通常只需要反转字节数组的内容即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句