struts2下载文件时出错提示:java.lang.ClassCastException: java.io.ByteArrayInputStream cannot be cast to java.l
原因是因为struts.xml配置action时出错
<action name="downloadNewSoft" class="com.cplatform.lncs.h5.soft.action.SoftManagerAction"
<result name="success" type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">downloadNewSoft</param>
<!-- 使用经过转码的文件名作为下载文件名,downloadFileName属性
对应action类中的方法 getDownloadFileName() -->
<param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
<!-- <param name="bufferSize">4096</param>-->
</result>
</action>
把如上的method="getDownloadNewSoft"去掉就行了。
原因是因为action配置上method属性,struts2默认会把 ByteArrayInputStream强制转成String类型