因此,在查看a similar SO Post about String and DataHandlers之后,我在效率方面遇到了问题。我有一个字符串进入我已经编码的Web服务。我需要将此String转换为DataHandler
以放入POJO并发送到另一个服务。当我使用new ByteArrayDataSource(String, type)
时,它正在编码已编码的字符串(第二次)。
要解决此问题,我将解码输入,然后将创建的byte[]
传递给new ByteArrayDataSource(byte[], type)
。当我已经传入编码版本时,我担心在必须解码和重新编码图像时会产生性能损失。有没有办法创建DataHandler
(或DataSource
)从已编码的字符串不需要“MIME类型”,所以我不必解码编码?
我已尝试使用FileDataSource(String)
,但这不起作用,使用带解码字符串的工作ByteArrayDataSource(byte[], String)
中使用相同的输入。我还尝试使用ByteArrayDataSource(String, type)
传递类型的空白字符串。
答案 0 :(得分:1)
经过一番搜索后,我遇到了一个执行此操作的Apache库,但我不确定它会有多高效。 Apache Axis2 has a ConverterUtil class看起来有很多字符串的二进制操作方法。
稍微查看一下代码,convertToDataHandler(String)
的代码只是将String传递给convertToBase64Binary(String)
函数。这只是通过解码然后继续从String创建一个新的ByteArrayDataSource。因此,util正在完成我已经在做的功能。