在跑struts2的文件下载的示例时,报错:Can not find a java.io.InputStream with the name [targetFile] in the invocation stack. Check the <param name="inputName"> tag specified for this action.
初看提示还以为inputName配置错误,后看网上说是下载文件路径不存在,struts.xml配置中的路径如下:
<param name="path">/download/a.jpg</param>
需要在WebContent路径下添加该路径和文件,可以下载,问题解决。
后又将下载的文件名改为中文,如
<param name="fileName">易.jpg</param>
下载后的文件名变成_.jpg,经查发现,需要在设置文件名字段时增加编码如下:
this.fileName = new
String(fileName.getBytes(), "ISO8859-1");
问题解决。