Как конвертировать mime.4j сообщение в inputtream
Я использую MultipartFormDataInput для получения входного потока из файла.eml для загрузки документа. Я мог бы выяснить причину этой проблемы, класс MultipartInputImpl.java имеет метод getBody(), который при вызове выдает нулевой входной поток. В основном потому, что тело является экземпляром mime4j.Message, а об этом не заботятся в методе getBody. Нужна помощь с использованием этих встроенных методов для загрузки файлов электронной почты. Можно ли как-то преобразовать сообщение mime4j в действительное двоичное тело или входной поток?
public InputStream getBody() throws IOException
{
Body body = bodyPart.getBody();
InputStream result = null;
if (body instanceof TextBody)
{
throw new UnsupportedOperationException();
/*
InputStreamReader reader = (InputStreamReader)((TextBody) body).getReader();
StringBuilder inputBuilder = new StringBuilder();
char[] buffer = new char[1024];
while (true) {
int readCount = reader.read(buffer);
if (readCount < 0) {
break;
}
inputBuilder.append(buffer, 0, readCount);
}
String str = inputBuilder.toString();
return new ByteArrayInputStream(str.getBytes(reader.getEncoding()));
*/
}
else if (body instanceof BinaryBody)
{
return ((BinaryBody)body).getInputStream();
}
return result;
}