Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack
这个错误很常见。
----------------------------------------------------------------------------------------我帮朋友做的企业站域名www.putianxinle.com
----------------------------------------------------------------------------------------
XP系统下:里面的文件下载有些可以下载。有些却不能下载
win7下:全部都可以下载
----------------------------------------------------------------------------------------
好像是系统的问题。。还是xp下的IE有些词是敏感词
----------------------------------------------------------------------------------------
不能下载的文件有:
                   急速赛车.doc
                   头文字D.doc
                   爱国者.doc
                   开炮捕鱼.doc这些文件在win7下却可以下载
----------------------------------------------------------------------------------------
全是我一次性上传的。不解为何有些能下载。有些不能下载

解决方案 »

  1.   

    就两个域
    www.putianxinle.com
    putianxinle.com
    很奇怪的问题。。我怎么测试感觉源代码都没错。。就是这几个词汇好像有问题
      

  2.   

    <body>
        <h3>文件下载列表</h3>
       <% for(int i=0;i<files.length;i++) {
       String fname = java.net.URLEncoder.encode(files[i].getName(), "UTF-8");
       %>
       <ul>
       <li><%=files[i].getName() %><a href="download.do?value=<%=fname %>">下载</a></li>
       </ul>
       <%} %>
      </body>
      

  3.   

    在Struts.xml配置文件中配置<constant name="struts.multipart.maxSize" value="1000000"/>这个常量就可以解决了 希望对你有帮助
      

  4.   

    在节目中对你所用药下载的文件转码如下操作:
    页面代码
    <body>
        <h3>文件下载列表</h3>
       <% for(int i=0;i<files.length;i++) {
       String fname = java.net.URLEncoder.encode(files[i].getName(), "UTF-8");
       %>
       <ul>
       <li><%=files[i].getName() %><a href="download.do?value=<%=fname %>">下载</a></li>
       </ul>
       <%} %>
      </body>
    Action关键代码
    public void setValue(String value) throws Exception {
    this.value = new String(value.getBytes("ISO-8859-1"),"UTF-8");
    }

    /**
     * 将下载的文件读取到内存流中
     * @return
     * @throws Exception 
     */
    public InputStream getDownLoadFiles() throws Exception {
    HttpServletResponse response = ServletActionContext.getResponse();
    response.setHeader("Content-Disposition", "attachment;fileName="+URLEncoder.encode(value,"utf-8"));
    return ServletActionContext.getServletContext().getResourceAsStream("/files/"+value);
    }