Struts2中下载项目路径以外的文件报错 Can not find a Java.io.InputStream with the name [downloadFile] in the invoc

解决:

1.文件路径不对,根本就没有取到文件。这种情况下,可以将获得InputStream的那条语句放在system.out.println()中输出一下,若为null,那就是路径不对了,或者说得准确些就根本没有找到文件。

2.action中没有写配置文件中"<param name="inputName">"后面属性的那个get方法.

当以上两种情况都正确的情况下,问题就在这里了:

   当采用 return ServletActionContext.getServletContext().getResourceAsStream("...") 这种方法获得输入流的时候,要保证文件位置在 ServletContext 当中,就是说要在当前的应用上下文中,

如果想要获得外部文件 譬如 D盘中的某个文件,那么就要自己创建输入流才可以,如:

1. File file = new File("D://spring.doc");  

2.   

3. InputStream is = new FileInputStream(file);  

4.   

5. return is;  

总结:使用绝对路径。

猜你喜欢

转载自blog.csdn.net/qq_29622845/article/details/70214263