1

画像を文字列として Firebase に保存したい。このために、Base64 文字列としてエンコードします。

小さい画像 (たとえば、15128 文字の文字列は問題ありません) ではすべて正常に機能しますが、大きい画像では例外が発生します。

スタック トレースは次のとおりです。この画像は、Base64 エンコード後にエンコードされた 34807 文字の長さです。

07-10 09:45:38.414      879-896/com.firebase.androidchat       E/DefaultRunLoop: Uncaught exception in Firebase runloop. Please report to support@firebase.com
        java.lang.StringIndexOutOfBoundsException: length=34807; regionStart=32768; regionLength=16384
        at java.lang.String.startEndAndLength(String.java:583)
        at java.lang.String.substring(String.java:1464)
        at com.firebase.client.utilities.Utilities.splitIntoFrames(Utilities.java:85)
        at com.firebase.client.realtime.WebsocketConnection.send(WebsocketConnection.java:159)
        at com.firebase.client.realtime.Connection.sendData(Connection.java:200)
        at com.firebase.client.realtime.Connection.sendRequest(Connection.java:89)
        at com.firebase.client.core.PersistentConnection.sendAction(PersistentConnection.java:744)
        at com.firebase.client.core.PersistentConnection.sendPut(PersistentConnection.java:697)
        at com.firebase.client.core.PersistentConnection.putInternal(PersistentConnection.java:684)
        at com.firebase.client.core.PersistentConnection.put(PersistentConnection.java:307)
        at com.firebase.client.core.PersistentConnection.put(PersistentConnection.java:303)
        at com.firebase.client.core.Repo.setValue(Repo.java:215)
        at com.firebase.client.Firebase$1.run(Firebase.java:427)

Firebase 文字列の最大許容サイズに達していますか、それとも Android SDK のバグですか? 回避策はありますか?

4

2 に答える 2

1

Firebase 開発者はこちら。SDK の最新リリース (v1.0.2) では、この問題が修正されているはずです。試してみて、解決したかどうかをお知らせください。

https://www.firebase.com/docs/downloads.html

于 2013-07-15T23:07:50.547 に答える