【发布时间】:2016-08-12 00:58:51
【问题描述】:
我正在测试是否可以发送带有一两个图像的 JSON 文件。目前,我已将图像转换为字节并使用
Base64.encodeToString(temp_arr, Base64.NO_WRAP);
(这是Android的base64类,我必须在读取其他堆栈溢出页面后使用.NO_WRAP功能才能使其工作)
将其转换为字符串。此时,我将该字符串对象传递到我的 JSON 文件(使用 GSON 库)并添加字符串 go it。此数据将被发送到 PHP 页面。
我已经测试将字节转换为 base64 并保存到一个文本文件,将该文本文件复制到我的 php 页面中,使用
通过我的 php 页面运行它 base64_decode($);
并且能够正确地重新创建图像(sha 哈希匹配)。所以现在我需要测试它通过网络发送它并使用 json。唯一的区别是base64字符串被放入其他json文件而不是文本文件,json被发送到php,我抓取数据并在PHP中解码。
现在的问题是图像已损坏,在十六进制编辑器中查看两个文件,十六进制编辑器中的前 20 行左右匹配正常,但之后不匹配。奇怪的是,文件的最后有相同的数据,只是上传的副本有额外的字符,使其尺寸更大。
所以我的问题是试图找出,是 GSON (JSON) 导致问题还是其他原因,如果是,我该怎么办。
可悲的是,我的工作方式是,我的老板需要将数据(带有文本、数据等的 json)同时发送到与图像相同的 php 页面,这就是我通过 json 发送图像的原因.
【问题讨论】:
标签: java php android json gson