2016-09-28 151 views
0

我有以下几点:DataSource和ByteArrayDataSource不兼容?

InputStream imageStream = classLoader.getResourceAsStream("email/logo.png"); 
DataSource fds = new ByteArrayDataSource(IOUtils.toByteArray(imageStream), "image/png"); 

会抛出我的错误:我在做什么错在这里

Error:(65, 30) java: incompatible types: javax.mail.util.ByteArrayDataSource cannot be converted to org.apache.poi.poifs.nio.DataSource
Error:(66, 44) java: no suitable constructor found for DataHandler(org.apache.poi.poifs.nio.DataSource) constructor javax.activation.DataHandler.DataHandler(javax.activation.DataSource) is not applicable (argument mismatch; org.apache.poi.poifs.nio.DataSource cannot be converted to javax.activation.DataSource) constructor javax.activation.DataHandler.DataHandler(java.net.URL) is not applicable (argument mismatch; org.apache.poi.poifs.nio.DataSource cannot be converted to java.net.URL)

+2

我们不知道你在努力达到什么目标,这很难帮助你。你确定你真的想要使用'org.apache.poi.poifs.nio.DataSource'吗?也许你真的想'javax.activation.DataSource'来代替? –

+0

@JonSkeet,就是这样! – uksz

回答

1

很可能你有错误的进口。 您正试图将javax.mail.util.ByteArrayDataSource转换成org.apache.poi.poifs.nio.DataSource。检查你的进口。