Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 以JSON格式接收图像数据并将其注入DOM_Javascript_Jquery_Image - Fatal编程技术网

Javascript 以JSON格式接收图像数据并将其注入DOM

Javascript 以JSON格式接收图像数据并将其注入DOM,javascript,jquery,image,Javascript,Jquery,Image,我正在将一个图像打包成jSON并发送到客户端。。。。在客户端,我希望将此数据显示为图像 我不是通过JSON发送图像URL。。。我试图发送整个图像数据本身 我在客户端接收到的JSON图像数据如下所示: PNG Ûâ\IÂØ>ó4ã¯wcÏLÓQÆÝîHâèÖnò)©£M¡ÀÍ.j3µx¼ê#Ì{Þ±NÔÃïj$­©N¨eÃyßÆR$id'|ýpøcå{ãyY'àþ½b|äô¹¨:Óç}@ÖÀdõÉ­Ä 无法将二进制数据发送到JSON内部的浏览器 您可以在理解b64编码的浏览器中使用b6

我正在将一个图像打包成jSON并发送到客户端。。。。在客户端,我希望将此数据显示为图像

我不是通过JSON发送图像URL。。。我试图发送整个图像数据本身

我在客户端接收到的JSON图像数据如下所示:

PNG  Ûâ\IÂØ>ó4ã¯wcÏLÓQÆÝîHâèÖnò)©£M¡ÀÍ.j3µx¼ê#Ì{Þ±NÔÃïj$­©N¨eÃyßÆR$id'|ýpøcå{ãyY'àþ½b|äô¹¨:Óç}@ÖÀdõÉ­Ä

无法将二进制数据发送到JSON内部的浏览器

您可以在理解b64编码的浏览器中使用b64编码和DataURI()()

因为我的帖子后面的评论都有一个实际的例子,这里有一个来自维基百科的例子:


或者转换为文本格式

我不知道您的解决方案有多优雅,但您可以将图像编码为BASE64,并使用以下方式将其内联:

<img src="data:image/png;base64,BASE64_ENCODED_DATA_HERE">


还值得注意的是,BASE64编码增加了约33%的开销。相反,您可以在服务器上创建一些临时目录,在那里存储这些图像,并在请求后将其删除。

您可以在除IE7和以下版本之外的所有浏览器中使用数据URL来完成此操作。基本格式如下:

<img src="data:image/png;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7">


您可以在这里了解更多信息:

仅使用json并非不可能,尝试使用另一种工具,如文章:
中的@Haim:,但它提供了创建服务的能力,这些服务不仅可以服务于JSON数据
,因此,当服务处于二进制模式时,它不服务于JSON。您不能使用
-而是使用带有{}的按钮或者使用倒勾:`这里的图像数据是图像/gif,如果将其签名更改为图像/png,则不会显示。