1

私は教育目的で、Androidのカメラを使用して写真を取得し、これをSOAPを使用してWebサービスに送信しようとしています。

まず、カメラからbyte[]配列が送信されますが、これはシリアル化できず、Web サービスに送信できません。今、私はこれをString(この型はシリアライズ可能です) に変換しようとしており、Web サービスでこれStringbyte[]配列に再変換しています。

どうすればそれができますか?

たとえば、私はしようとしています:

request.addProperty("photo", (Arrays.toString((byte[])params[0])));

Stringこれを取得して元のデータに正確に変換するにはどうすればよいbyte[]ですか?

前もって感謝します!

4

3 に答える 3

2

byte[]本当に aを aに変換する必要がある場合は、 Base64Stringなどの任意のバイト データ用の中間シリアル化を使用します。s は任意の s ではなく、文字データ用です。Stringbyte[]

Android のBase64クラスは、上記のことを簡単にします。

この質問はAndroid: using Base64 を使用して Image を String にエンコードするのとほとんど同じです。

于 2013-06-16T20:06:52.023 に答える
0

最後に、これを使用して byte[] を Web サービスに送信し、デコードします。ありがとう!

アンドロイド ソープ サービス:

request.addProperty("photo", Base64.encodeToString((byte[])params[0], Base64.DEFAULT));

SOAP ウェブサービス

BASE64Decoder decoder = new BASE64Decoder();                    
byte[] a = decoder.decodeBuffer(VAR);
于 2013-06-16T20:33:46.787 に答える