oracle.jdbc.driver.OracleBlobInputStream 无法转换为 org.springframework.core.io.InputStreamSource

oracle.jdbc.driver.OracleBlobInputStream cannot be cast to org.springframework.core.io.InputStreamSource

java.lang.ClassCastException: oracle.jdbc.driver.OracleBlobInputStream cannot be cast to org.springframework.core.io.InputStreamSource

helper.addAttachment(MyDTO.getFileName(), (InputStreamSource) MyDTO.getBlobInputStream());

inputStream 转换为 InputStreamSource 时出现此异常。

您不能只将它转换为 InputStreamSource,OracleBlobInputStream 没有实现这个特定于 Spring 的接口。你必须使用 org.springframework.core.io.InputStreamResource

 helper.addAttachment(MyDTO.getFileName(), new InputStreamResource(MyDTO.getBlobInputStream()));