`
scorpiomiracle
  • 浏览: 263508 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Struts2文件下载报错,找不到输入流

阅读更多
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;
分享到:
评论
3 楼 bigarden 2012-05-11  
遇到了同样的问题了,果然是return ServletActionContext.getServletContext().getResourceAsStream("……");
2 楼 java_4_ever 2011-07-20  
动态生成的文件使用action下载时提示报错同楼主遇到的错误,检查了一遍拼写没有错误。很是不解,请教楼主
1 楼 djb_daydayup 2010-05-29  
刚好也碰到这个问题,一看果然我用的是
return ServletActionContext.getServletContext().getResourceAsStream("……");

这个方法,真是害人不浅啊,谢谢lz解决了我的问题。

相关推荐

    struts2实现文件下载功能

    在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...

    解决Struts2中下载文件时点击取消按钮后台报错问题

    总结来说,解决Struts2中下载取消报错问题的关键在于正确管理和控制文件流,确保在客户端取消下载时,服务器能够及时响应并终止操作。通过监控`ServletResponse`的状态和`ServletOutputStream`的关闭情况,可以有效...

    struts2文件上传下载源代码

    总之,Struts2文件上传和下载是Web开发中必不可少的功能,涉及的技术点包括表单处理、文件流操作、服务器配置以及错误处理。通过理解和实践提供的源代码,开发者可以加深对Struts2框架的理解,提升其在实际项目中的...

    Struts2文件流方式导出下载excel、Txt、image图片

    通过上述步骤,我们就可以在Struts2框架下实现文件流方式的下载功能,无论是Excel、TXT还是图片,都能有效地直接返回给浏览器,让客户端进行下载。这种方式既节省了服务器资源,也提高了用户体验。在实际项目中,...

    struts2文件下载点击取消服务器报错解决办法

    通过覆写StreamResult的方法 解决struts2文件下载点击取消服务器报错解

    struts2实现文件上传下载

    本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...

    Struts的文件下载

    `contentType`、`contentDisposition`参数分别对应HTTP响应头,`inputName`则指定了Action中用于提供文件流的属性。 此外,还需要在JSP页面上创建一个链接或者按钮,让用户触发下载操作: ```jsp ...

    Struts2之struts2文件下载详解案例struts012

    这段配置定义了一个名为`download`的Action,将`DownloadFileAction`类与URL路径关联,并设置了结果类型为`stream`,这样Struts2会自动处理文件流的发送。 为了使用户能够触发文件下载,我们需要在JSP页面上创建一...

    struts2文件上传下载

    在这个特定的项目中,我们关注的是"struts2文件上传下载"的功能,这涉及到用户通过Web界面上传文件到服务器,以及从服务器下载文件到用户的设备。 文件上传是Web应用中的常见需求,例如用户可能需要提交图片、文档...

    struts2文件下载

    在“struts2文件下载”这个主题中,我们主要关注的是如何使用Struts2来实现文件的下载功能。这篇博客文章可能探讨了在Struts2环境下处理文件下载的步骤和技术。 在Struts2中,`DownloadAction.java`很可能是一个...

    struts2_uploadify带进度条的多文件上传下载

    3. 配置文件:如struts.xml,配置Struts2的动作映射和结果类型,确保上传请求能被正确路由到对应的Action。 4. Servlet或Filter:可能用于处理文件上传的细节,如设置最大文件大小限制、处理多部分请求等。 5. 下载...

    struts2文件下载的参数

    总结起来,“Struts2文件下载的参数”涉及到的主要知识点包括:Action类的使用、HTTP响应头的设置(尤其是`Content-Disposition`和`Content-Type`)、文件流的处理、Struts2的结果类型如`StreamResult`,以及安全...

    struts2 上传下载文件

    使用struts2框架进行文件的上传并限制文件的大小与类型,使用struts2框架实现文件下载

    struts2文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,对于用户交互和数据交换至关重要。以下是对这些知识点的详细阐述: 1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供...

    struts2框架下的文件上传

    在Struts2中,文件上传是一个常见的需求,可以帮助用户从客户端上传文件到服务器。本文将详细讲解Struts2框架下三种不同的文件上传方式:copy模式、字节流上传和字符流上传。 1. Copy模式文件上传: Copy模式是...

    struts2所有jar包程序文件

    在下载并解压"struts2所有jar包"后,开发者需要将lib目录下的所有jar文件添加到项目构建路径中,确保运行时可以找到所有依赖。对于Maven或Gradle用户,可以通过在pom.xml或build.gradle文件中指定相应的依赖项,实现...

    struts2文件下载(解决了中文乱码问题)

    在处理文件下载时,Struts2提供了一套完整的解决方案,包括处理中文文件名的乱码问题。在标题提到的场景中,开发者可能遇到了在使用Myeclipse 6.5集成开发环境,JDK1.6和Tomcat 6.0服务器环境下,通过Struts2进行...

    在老项目中加入struts2,xml报错

    在整合老项目与Struts2框架的过程中,可能会遇到XML解析相关的错误,这通常是由于Struts2在启动时尝试使用不兼容或不适合的XML解析器导致的。本文将深入探讨这个问题,提供解决方案,并介绍如何避免此类问题。 错误...

    struts2文件上传下载(注解版)

    在本项目中,我们关注的是Struts2中的文件上传和下载功能,这些功能是Web开发中常见的需求,尤其在处理用户数据提交或提供资源下载时。下面将详细介绍这个“struts2文件上传下载(注解版)”项目的关键知识点。 1. ...

    Struts2 下载取消报异常最终解决办法

    本篇将深入探讨Struts2下载取消报异常的解决方法,以及相关的知识点。 1. **Struts2 文件下载原理** - Struts2提供了方便的Action类和结果类型,如`StreamResult`,来处理文件下载。通过设置HTTP响应头,如`...

Global site tag (gtag.js) - Google Analytics