Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示使用JavaScript从MySQL数据库检索到的Blob数据_Javascript_Image_Blob - Fatal编程技术网

显示使用JavaScript从MySQL数据库检索到的Blob数据

显示使用JavaScript从MySQL数据库检索到的Blob数据,javascript,image,blob,Javascript,Image,Blob,通过使用web服务,我能够从MySQL数据库中检索一些数据。数据库中保存了一个文件类型为BLOB的图像。这是我的web服务在处理映像时返回的结果: <image> /9j/4AAQSkZJRgABAQEAYABgAAD/7TaeUGhvd.....RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//Z </image> 现在我很难让我的JavaScript应用程序转换这些数据,然后将其显示为图像。我对此进行了一些

通过使用web服务,我能够从MySQL数据库中检索一些数据。数据库中保存了一个文件类型为BLOB的图像。这是我的web服务在处理映像时返回的结果:

<image>
/9j/4AAQSkZJRgABAQEAYABgAAD/7TaeUGhvd.....RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//Z
</image>

现在我很难让我的JavaScript应用程序转换这些数据,然后将其显示为图像。我对此进行了一些研究,并在网上找到了一些教程,但不知何故它们对我不起作用……有人能帮我解决这个问题吗?将BLOB数据转换为图像的最简单方法是什么?提前谢谢

假设blob具有base64编码的PNG数据,您可以使用直接将数据设置为图像,例如

var imgdata = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="

$('#myimg').attr('src', "data:image/png;base64,"+imgdata)
这里假设从服务器返回的数据是base64编码的,但如果不是这种情况,您可以看到各种选项,但最终您可能必须在服务器端进行适当的转换,在这种情况下,为什么不将url返回到image并在服务器端创建API以从blob返回图像呢

下面是一个正在运行的JSFIDLE

编辑: 我不确定您在服务器端使用哪种语言,但每种语言的处理过程都是相同的

>>> s='\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x05\x00\x00\x00\x05\x08\x06\x00\x00\x00\x8do&\xe5\x00\x00\x00\x1cIDAT\x08\xd7c\xf8\xff\xff?\xc3\x7f\x06 \x05\xc3 \x12\x84\xd01\xf1\x82X\xcd\x04\x00\x0e\xf55\xcb\xd1\x8e\x0e\x1f\x00\x00\x00\x00IEND\xaeB`\x82'
>>> import base64
>>> base64.b64encode(s)
'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

i、 e.获取所有数据,因为这些数据将存储在文件中,而不是png标记,而不仅仅是原始图像数据并对其进行编码

假设blob具有base64编码的png数据,您可以使用直接将数据设置为图像,例如

var imgdata = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="

$('#myimg').attr('src', "data:image/png;base64,"+imgdata)
这里假设从服务器返回的数据是base64编码的,但如果不是这种情况,您可以看到各种选项,但最终您可能必须在服务器端进行适当的转换,在这种情况下,为什么不将url返回到image并在服务器端创建API以从blob返回图像呢

下面是一个正在运行的JSFIDLE

编辑: 我不确定您在服务器端使用哪种语言,但每种语言的处理过程都是相同的

>>> s='\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x05\x00\x00\x00\x05\x08\x06\x00\x00\x00\x8do&\xe5\x00\x00\x00\x1cIDAT\x08\xd7c\xf8\xff\xff?\xc3\x7f\x06 \x05\xc3 \x12\x84\xd01\xf1\x82X\xcd\x04\x00\x0e\xf55\xcb\xd1\x8e\x0e\x1f\x00\x00\x00\x00IEND\xaeB`\x82'
>>> import base64
>>> base64.b64encode(s)
'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

i、 e.获取所有数据,因为这些数据将存储在文件中,而不是png标记,而不仅仅是原始图像数据并对其进行编码

既然我已经将blob编码为Base64,恐怕这段代码仍然不起作用…@BurninatorDor,正如我在jsfiddle中所示,它起作用了,因此,可能是您没有正确编码data@BurninatorDor我在python中添加了一个示例,如何在@Anurag!!。。。。但我有点明白我哪里做错了。我发现,当我在html中硬编码图像时,它可以工作……但是当我尝试从div中检索图像时,就像下面的var-imgData=document.getElementById'reply.innerHTML;$'showPic'.attr'src',数据:image/png;base64,+imgData。。。这就是它搞砸的时候!现在我试图找出这行代码的错误,以及为什么它不能转换作为src…@BurninatorDor检索到的字符串,那么您可以选择它作为答案,关于html,您是否检查过数据不是html编码的?为什么要从div中读取它?既然我已经将blob编码为Base64,恐怕这段代码仍然不起作用…@BurninatorDor正如我在jsfiddle中显示的那样,它起作用了,所以可能是您没有正确地编码data@BurninatorDor我在python中添加了一个示例,如何在@Anurag!!。。。。但我有点明白我哪里做错了。我发现,当我在html中硬编码图像时,它可以工作……但是当我尝试从div中检索图像时,就像下面的var-imgData=document.getElementById'reply.innerHTML;$'showPic'.attr'src',数据:image/png;base64,+imgData。。。这就是它搞砸的时候!现在我试图找出这行代码的错误,以及为什么它不能转换作为src…@BurninatorDor检索到的字符串,那么您可以选择它作为答案,关于html,您是否检查过数据不是html编码的?你为什么要从一个部门读它?