查看 a similar SO Post about String and DataHandlers 后,我在效率方面遇到了问题。我的网络服务中有一个已经编码的字符串。我需要将此字符串转换为 DataHandler
以放入 POJO 中并发送到另一个服务。当我使用 new ByteArrayDataSource(String, type) 时,它正在对已经编码的字符串进行编码(第二次)。
为了解决这个问题,我对输入进行解码,然后将创建的 byte[]
传递到 new ByteArrayDataSource(byte[], type)
中。我担心当我已经传入编码版本时,必须解码和重新编码图像时会造成性能损失。有没有办法从已经编码的字符串创建 DataHandler
(或 DataSource
),而不需要“MIME 类型”,这样我就不必解码来编码?
我尝试过使用FileDataSource(String)
,但这不起作用,在具有解码字符串的工作ByteArrayDataSource(byte[], String)
中使用相同的输入。我还尝试使用 ByteArrayDataSource(String, type) 传递类型的空白字符串。
最佳答案
经过更多搜索后,我发现了一个可以执行此操作的 Apache 库,但我不确定它的效率会高多少。 Apache Axis2 has a ConverterUtil class看起来有很多字符串的二进制操作方法。
进一步研究该代码,convertToDataHandler(String)
的代码只是将字符串传递给 convertToBase64Binary(String)
函数。这只是通过解码字符串从字符串创建一个新的 ByteArrayDataSource,然后继续。所以该实用程序只是包装了我已经在做的功能。
关于java - 已将字符串编码为 DataHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22922423/