struts2如何实现文件的下载 30

在文件上传的时,直接上传到了tomcat工程下面,但是在实现文件下载时,这样获取路径:ServletContextservletContext=ServletAction... 在文件上传的时,直接上传到了tomcat 工程下面,

但是在实现文件下载时,这样获取路径:ServletContext servletContext=ServletActionContext.getServletContext(); String fileName=servletContext.getRealPath("/12.jpg");
报错却是java.lang.IllegalArgumentException: 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. org.apache.struts2.dispatcher.StreamResult.doExecute(StreamResult.java:237) org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)查看源码:

if (inputStream == null) {

// Find the inputstream from the invocation variable stack

inputStream = (InputStream) invocation.getStack().findValue(conditionalParse(inputName, invocation));

}

if (inputStream == null) {

String msg = ("Can not find a java.io.InputStream with the name [" + inputName + "] in the invocation stack. " +

"Check the <param name=\"inputName\"> tag specified for this action.");

LOG.error(msg);

throw new IllegalArgumentException(msg);

}
应该是路径出错了!但是不知道怎么改!求助!
展开
 我来答
454182560
2014-08-22 · TA获得超过318个赞
知道小有建树答主
回答量:200
采纳率:100%
帮助的人:89.9万
展开全部
String fileName=servletContext.getRealPath("/12.jpg");
这个12.jpg是什么?应该放路径的,不是文件名
更多追问追答
追问
是文件名,不过这个文件在根路径下啊!
追答
你最好放在服务器的路径上,毕竟我们是要上传到服务器的就是相对路径
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式