2010-12-06 42 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