Can not find a java.io.InputStream with the name [] in the invocation stack 解决办法

来源:互联网 发布:java 单例模型 编辑:程序博客网 时间:2024/05/19 15:25

具体异常是这句话:

Can not find a java.io.InputStream with the name [inputStream] 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方法.
当以上两种情况都正确的情况下,问题就在这里了:
当采用 return ServletActionContext.getServletContext().getResourceAsStream("...") 这种方法获得输入流的时候,要保证文件位置在 ServletContext 当中,就是说要在当前的应用上下文中,
如果想要获得外部文件 譬如 D盘中的某个文件,那么就要自己创建输入流才可以,如:
  1. Filefile = new File("D:\\spring.doc");
  2. InputStream is = new FileInputStream(file);
  3. return is;
则OK!!
原创粉丝点击