2014-04-07 4 views
1

따라서 a similar SO Post about String and DataHandlers을 살펴본 후에 효율성 측면에서 문제가 발생했습니다. 이미 인코딩 된 String을 웹 서비스에 제공합니다. POJO에 넣고 다른 서비스로 보내려면이 문자열을 DataHandler으로 변환해야합니다. new ByteArrayDataSource(String, type)을 사용할 때 이미 인코딩 된 문자열을 인코딩합니다 (두 번째).이미 DataHandler로 인코딩 된 문자열

이 문제를 해결하려면 입력을 디코딩하고 난 후 byte[]new ByteArrayDataSource(byte[], type)에 전달하십시오. 인코딩 된 버전이 이미 전달 될 때 이미지를 디코딩하고 다시 인코딩해야 할 때 발생하는 성능에 대해 걱정이됩니다. 인코딩 된 버전을 필요없이 전달한 후 DataHandler (또는 DataSource)을 만드는 방법이 있습니까? "MIME 형식", 그래서 디코딩 할 필요가 없습니다 인코딩?

FileDataSource(String)을 사용해 보았지만이 입력 코드는 디코딩 된 문자열이있는 ByteArrayDataSource(byte[], String)에서 사용되었습니다. 또한 ByteArrayDataSource(String, type)을 사용하는 유형의 빈 문자열을 전달하려고했습니다.

답변

1

조금 더 검색 한 후에이 작업을 수행하는 Apache 라이브러리가 나왔지만 얼마나 효율적인지는 잘 모르겠습니다. Apache Axis2 has a ConverterUtil class에는 문자열에 대한 2 진 조작 메소드가 많이 있습니다.

코드를 조금 더 살펴보면 convertToDataHandler(String) 코드는 convertToBase64Binary(String) 함수를 따라 문자열을 전달합니다. 이것은 문자열을 디코딩 한 다음 앞으로 이동하여 새로운 ByteArrayDataSource를 생성하는 것입니다. 그래서 유틸리티는 단지 이미 수행하고있는 기능을 마무리하고 있습니다.

관련 문제