2017-02-07 5 views
1

DBではなくURLでイメージストレージを使用します。DB上のデータストレージ:サーバー上のPostgreSQL "bytea" to SQLite "BLOB" on Mobile App

私のサーバー側では、PostgreSQLを使用していますが、read hereは、「bytea」がファイルを格納するために使用する推奨フォーマットです。

私のモバイルアプリケーション側では、DBはSQLiteです。データストレージの推奨フォーマットは "BLOB" as described hereです。

PostgreSQLの "bytea"からSQLiteの "BLOB"への変換があれば、これまでのところはっきりとわかりませんでしたか?

+2

どちらも不透明なデータを格納します。どのようなコンバージョンを考えていますか? –

答えて

2

byteaBLOBは両方とも、生のバイナリデータを格納するためのデータベース内のデータ型です。それらはbase64などのエンコードではないので、そのものを変換することはありませんです。

しかし、現実には、あなたのアプリケーションは、少なくとも5つの形で、このデータを処理します:

  • PostgreSQLのbytea
  • サーバー側のアプリケーションでの変数(おそらく文字列またはバイト配列)
  • あなたのクライアントにサーバーをリンクAPIにおけるデータのストリームが
  • クライアントサイドのモバイルアプリケーションでの変数(おそらく、このようなBASE64など、いくつかのASCIIセーフ形式でエンコードされた)
  • へ/サーバーサイドの言語、サーバー側からデータが順番にこれらの形のそれぞれを流れますので、あなたが心配する必要は変換がSQLiteのにはPostgreSQLされていませんが、PostgreSQLのSQLiteのBLOB

言語とAPIエンコーディングとの間の変換などが含まれます。 MySQLを使用するようにサーバーを変更したり、別のファイルにデータを格納したり、その場で作成する方法を見つける場合は、モバイルアプリを変更する必要はありません。プロセスの2つの端が完全に分離されます。

これは、ディスクにファイルを格納するときにプログラム環境がデータを操作するのと同じように、エンコードを明示的に理解するうえで正しい機能を使用することと同じくらいですが、file.put(data)などと書いてください。

関連する問題