tomcat报错如下:
严重: Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check the <param name="inputName"> tag specified for this action.
出现这种错误一般只有两种可能:
1.文件路径不对,根本就没有取到文件,这种情况下,可以将获得InputStream的那条语句放在system.out.println()中输出一下,若为null,那就是路径不对了,或者说得准确些,就是根本没有找到文件。
2.在action中没有写对应于 配置文件中“ <param name="inputName"> ”后面属性的get方法,如本例就应该写public InputStream getDownloadFile()方法
附:
我也采用了视频和网络上用的最多的方法来返回输入流,如下:
return ServletActionContext.getServletContext().getResourceAsStream("……");
但是不管怎么弄,都是报如上错误。在一博客上看到,“对ServletContext的getResourceAsStream方法认识有误,该方法不是从本地路径取文件,而是tomcat的工程路径下取文件流”,如“/WEB-INF/download/file.*”。此刻才恍然大悟,我要下载的文件就是位于其他路径,之前分析报错原因总认为肯定是配置的错误。然后,照其所说,一试,果然控制台输出为null,怪不得,于是改为如下方式获得文件流。
File fileDes = new File(path);//path是要下载文件所在的路径,可以写成任意本地路径
InputStream is = new FileInputStream(fileDes);
return is;
分享到:
相关推荐
通过覆写StreamResult的方法 解决struts2文件下载点击取消服务器报错解
解决Struts2中下载文件时,点击弹出框上面的取消按钮后,后台报错问题
使用struts2实现文件下载功能,可以直接运行!
Struts2文件流方式导出下载excel、Txt、image图片,直接返回给浏览器提示下载,不生成临时文件,直接保存在客户端
struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单
在struts2基础上实现的包括单文件、多文件的上传及下载
struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载
使用struts2框架进行文件的上传并限制文件的大小与类型,使用struts2框架实现文件下载
http://blog.csdn.net/johnjobs/article/details/8076832博文中附件的下载链接
博文链接:https://ychw668.iteye.com/blog/122843
struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置...
Struts2中文件上传与下载案例
网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...
struts2所有jar包下载
Struts2文件上传源码 Struts2文件上传源码 Struts2文件上传源码 Struts2文件上传源码 Struts2文件上传源码
Struts2下载文件时中文乱码和空格处理
Struts2上传文件(直接用request)
struts2文件上传与下载,eclipse与myeclipse导入即可使用的代码,简单易懂,希望对你有帮助,喜欢的给个五星评价,谢谢!!!
Struts 2中实现文件下载 文件下载
严重: Exception starting filter struts2 Class: oracle.xml.jaxp.JXTransformerHandler File: JXTransformerHandler.java Method: endDocument Line: 145 - oracle/xml/jaxp/JXTransformerHandler.java:145:-1