1

したがって、String および DataHandlers に関する同様の SO 投稿を見た後、効率の面で問題に遭遇しました。すでにエンコードされている文字列が Web サービスに入っています。この String を に変換DataHandlerして POJO に入れ、別のサービスに送信する必要があります。私が使用するときnew ByteArrayDataSource(String, type)は、すでにエンコードされた文字列をエンコードしています(2回目)。

これを回避するために、入力をデコードしてから、作成byte[]したものを に渡しnew ByteArrayDataSource(byte[], type)ます。DataHandlerエンコードされたバージョンが既に渡されている場合、画像をデコードして再エンコードする必要がある場合に、これが作成するパフォーマンス ヒットが心配です。DataSource" MIME タイプ」なので、エンコードするためにデコードする必要はありませんか?

使用してみましたが、デコードされた文字列の操作FileDataSource(String)で使用されたのと同じ入力で、これは機能しませんでした。ByteArrayDataSource(byte[], String)を使用して型の空白文字列を渡してみましたByteArrayDataSource(String, type)

4

1 に答える 1

1

もう少し検索した後、これを行うApacheライブラリに出くわしましたが、どれだけ効率的かはわかりません. Apache Axis2 には、文字列のバイナリ操作メソッドが多数あるように見えるConverterUtil クラスがあります。

そのコードをもう少し詳しく見てみると、 のコードconvertToDataHandler(String)は String をconvertToBase64Binary(String)関数に渡すだけです。これは、文字列をデコードしてから先に進むことにより、文字列から新しい ByteArrayDataSource を作成するだけです。したがって、ユーティリティは、私がすでに行っている機能をまとめているだけです。

于 2014-04-08T14:41:43.290 に答える