2010-12-06 33 views
0

在Rails 3中,我想将JSON格式的位图图像数据发布到服务器,所以我执行以下步骤。

1.在客户端中,将位图图像转换为字符串。
2.以JSON格式对字符串进行编码并发布到服务器。
3.解码JSON格式的位图图像数据。


现在的问题是:
在位图图像中,有很多0字节或其他不可读的字节,以JSON格式编码后,0字节会被转换为/ u0000,空格字节将会变成/ u000a。
在服务器端,我用的ActiveResource ::格式:: JsonFormat.decode将JSON字符串解码,但是当它遇到/ u0000的,例如该方法将停止,

    JSON字符串“\ u0066 \ u0066 \ u0000 \ u0066 \ u0066“将被解码为”ff“,其余三个字节将被静默丢弃。

那么如何解决这个问题呢?我应该自己写一个函数来解码JSON字符串吗?如何在Rails 3中以JSON格式解码图像数据?

回答

3

你应该真的在多部分表单中以二进制格式发布数据。

如果您必须将其编码为字符串use base64

+1

但是,预计base64版本要大得多,并需要更多的CPU时间进行编码,传输和解码。 – 2010-12-07 08:27:24