0

HTTP クライアントを使用してサーバー上のサーブレットに送信する必要があるイメージ バイト配列があります。通常のテキストデータを送信する方法はわかっていますが、画像データを送信することはできません。

次のコードを使用して、画像バイト配列から文字列データを作成しました。

String imageData = new String(imagebyteArr);

上記StringをHTTPクライアントを介してサーブレットに送信しましたが、以下のコードを使用して文字列からバイト配列を再度取得すると:

imageByteArr = imageData.toByteArray();

結果のバイト配列は変更されたものになり、-127 が 63 に置き換えられます。

この予期しない動作を解決するにはどうすればよいですか?

4

2 に答える 2

2

文字列はエンコードされます。2 つの可能性があります: バイナリ データを base64 としてエンコードする (たとえば)、base64 を送信してサーバー側でデコードするか、PUT 要求を使用してバイナリをアップロードします。

于 2012-06-12T08:44:41.580 に答える