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
发送JSON格式的二进制数据_Json_Image - Fatal编程技术网

发送JSON格式的二进制数据

发送JSON格式的二进制数据,json,image,Json,Image,我想将一些数据(包括图像)作为JSON发送到rest服务,数据将存储在DB中,然后我需要能够检索并显示它。 我的问题是图像部分,我需要以json格式发送它,将其转换为字节以将其保存为DB中的blob,然后还原过程以将其显示回用户 当我获得图像源属性的值时,我会得到类似于“data:image/png;base64,VBORw0…”的内容,我应该在服务器端做什么来保存在数据库中,以及当我将图像发送回用户时应该做什么,以便在将图像设置为源属性的值时显示图像 我现在做的是 1.从src属性获取imgu

我想将一些数据(包括图像)作为JSON发送到rest服务,数据将存储在DB中,然后我需要能够检索并显示它。 我的问题是图像部分,我需要以json格式发送它,将其转换为字节以将其保存为DB中的blob,然后还原过程以将其显示回用户 当我获得图像源属性的值时,我会得到类似于“data:image/png;base64,VBORw0…”的内容,我应该在服务器端做什么来保存在数据库中,以及当我将图像发送回用户时应该做什么,以便在将图像设置为源属性的值时显示图像

我现在做的是 1.从src属性获取imguri并删除uri的开头 markerImg.replace(/^data:image/(png | jpg | jpeg);base64,/,“”); 2.然后将结果作为完整json对象的一部分发送。 3.在服务器端,我使用DatatypeConverter将值转换为字节并保存在数据库中 DatatypeConverter.ParseBase64二进制(imageAsString) 4.当我将josn对象发送回服务器时,我从数据库中获取imageAsBytes,将其转换为字符串并附加“data:image..”部分并发送回服务器 dataObject.getProperties().setMarkerImg(“数据:image/png | jpeg | jpg | jif;base64,”+ImageHandler.getImageStringFromBytes(imageAsBytes))


这是可行的,但我想看看我所做的是否正确,如果服务器上有任何简单的方法,请在将其存储为blob之前对其进行base64解码。或者更好的是,根本不要将其存储为blob,对其进行解码并将图像放到目录和数据库中,创建一个引用刚刚创建的文件的路径和文件名的记录


发回时,不要发回图像数据,发回一个URL(可能带有数据库中blob/文件引用存储的id),这样当您向该URL发出请求时,它会查找blob并将其作为具有正确标题的图像使用。

谢谢Adam,我需要将其另存为blob。这是一个要求。没有问题,无论是将其保存为blob还是文件,答案都是有效的。请检查我添加的更新,并给出您的意见,TIA