使用struts2下载文件

希奇孤拐 2013-02-07 10:25:33
最近在使用struts2实现下载文件,可是总是显示inputstream这个参数在栈中找不到,但是在配置文件中已经配置过了,action中也有get方法,将代码单独拿出来放在一个项目中就可以正常运行,但是一旦放到整个项目中就不行了,这是怎么回事?
...全文
116 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
一般这样ServletActionContext.getServletContext().getResourceAsStream() 看看你的action
希奇孤拐 2013-02-07
  • 打赏
  • 举报
回复
引用 2 楼 cl61917380 的回复:
你有实现对应的拦截器吗?! for example: XML/HTML code?1234567891011121314151617<action name="upload" class="com.jungle.action.PostAction"> <interceptor-ref name="fileUpload"> <param name="……
使用了拦截器的,同样的代码单独成一个demo就可以实现下载,但是一旦放到整个项目中就出错。
希奇孤拐 2013-02-07
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
一般这样ServletActionContext.getServletContext().getResourceAsStream() 看看你的action
这个代码是放在哪的?对java web的调试不是很懂
coooliang 2013-02-07
  • 打赏
  • 举报
回复
你有实现对应的拦截器吗?! for example:

<action name="upload" class="com.jungle.action.PostAction">
	<interceptor-ref name="fileUpload">
		<param name="maximumSize">5242880</param><!--单个文件 5兆-->
	</interceptor-ref>
	<interceptor-ref name="defaultStack"></interceptor-ref>
	<result name="upLoad">
		/back/postManage/uploadSuccess.jsp
	</result>	 
	<!-- 下载 -->
	<result name="download" type="stream">
		<param name="contentDisposition">
			attachment;filename="${newname}"
		</param>
		<param name="bufferSize">1024</param>
		<!--<param name="inputName">inputStream</param>-->
	</result>
</action>

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧