<%@ page contentType="text/html; charset=gb2312"%>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="down" scope="page" class="upfile"/>
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload"/>
<%
String mesg="",id = "";
if(request.getParameter("id")!=null && !request.getParameter("id").equals("")){
id=request.getParameter("id");//获取文件ID
mesg=down.bupfile_down(id));//获取文件名
}down.freeCon();
if(!mesg.equals("0")){//说明有文件名
myUpload.initialize(pageContext);
myUpload.setContentDisposition(null);
myUpload.downloadFile("upfile/"+mesg);
}
%>
以上是我的下载代码???中间也没空格可就是下载不了RAR文件。一下就出错!!!提示:
java.lang.IllegalStateException: getOutputStream() has already been called for this response?????????怎么解决或有没有更好点的下载组件!!!??

解决方案 »

  1.   

    把换行去掉试试
    <%@ page contentType="text/html; charset=gb2312"%><%@ page language="java" import="java.sql.*"%><jsp:useBean id="down" scope="page" class="upfile"/>
    <jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload"/><%
    String mesg="",id = "";
    if(request.getParameter("id")!=null && !request.getParameter("id").equals("")){
    id=request.getParameter("id");//获取文件ID
    mesg=down.bupfile_down(id));//获取文件名
    }down.freeCon();
    if(!mesg.equals("0")){//说明有文件名
    myUpload.initialize(pageContext);
    myUpload.setContentDisposition(null);
    myUpload.downloadFile("upfile/"+mesg);
    }
    %>