文件上传这个问题...
jive的支持啊.....是你没有开发出来吧....如果你想用其它功能更强的代码..建议使用jspsmartupload....你可以将它放在论坛中...很简单的就可以实现.......
下载地点http://www.jspsmart.com/
里面有很详细的介绍,将它往论坛里加就OK了

解决方案 »

  1.   

    jspsmartupload 可以用的,不过我在做个东西,困惑了我很久,今天才算告明白,特别是和 表单一起的时候。
      

  2.   

    <%@ page language="java" import="java.sql.*,java.text.*,java.io.*,java.util.*,com.jspsmart.upload.*" %>
    <%@ page contentType="text/html; charset=gb2312" %>
    <jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
    <jsp:useBean id="cn" scope="page" class="bbs.cn" />
    <jsp:useBean id="mycheck" scope="page" class="bbs.check" />
    <jsp:useBean id="xiruo" scope="page" class="bbs.xiruo" />
    <html>
    <head>
    <title>jsp论坛--文件上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <LINK href="inc/css.css" rel=stylesheet>
    </head>
    <body bgcolor="#f2f8ff" alink="#333333" vlink="#333333" link="#333333" topmargin=10 leftmargin=10 onkeydown="if(event.keyCode==13 && event.ctrlKey)messager.submit()">
    <%
    session.setMaxInactiveInterval(20*60);
    String user=(String)session.getAttribute("username");
    String action=(String)request.getParameter("action");
    java.text.SimpleDateFormat dformat=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String errmessage="";
    if(user==null||user.trim()=="")
    errmessage=errmessage+"<li>您没有<a href=\"login.jsp\" target=\"_blank\">登录</a></li>";
    int count=0; 
    String mypath=request.getRealPath("BBS")+"\\information\\";
    myUpload.initialize(pageContext);
    //文件上传
    myUpload.upload();
    //上传的情况统计
    //***************************************************//判断提交的表单数据
    String content="";
    String url[]=new String[myUpload.getFiles().getCount()];
    boolean y=true;
    boolean x=false;
    String myfilename="";
    for (int i=0;i<myUpload.getFiles().getCount();i++){
    com.jspsmart.upload.File myFile = myUpload.getFiles().getFile(i);
    //获得文本的内容 
    if(!myFile.isMissing()) {
    y=false;
    content=myUpload.getRequest().getParameter("text"+(i+1));
    java.io.File file = new java.io.File(mypath+content);
    if(file.exists()) {
    x=true;
    myfilename=myfilename+" "+content;
    }
    }
    }
    if(y)
    errmessage=errmessage+"<li>你没有选择任何要上传的文件</li>";
    if(content.trim()=="")
    errmessage=errmessage+"<li>你必须给需要上传的文件命名</li>";
    if(x)
    errmessage=errmessage+"<li>文件 "+myfilename+" 已经存在,请重新命名</li>";
    //*****************************************************
    if(errmessage.trim()=="") {
    for (int i=0;i<myUpload.getFiles().getCount();i++){
    com.jspsmart.upload.File myFile = myUpload.getFiles().getFile(i);
    //获得文本的内容 
    content=myUpload.getRequest().getParameter("text"+(i+1));
    //显示文本的内容
    //out.println(content);
    if (!myFile.isMissing()) {
    myFile.saveAs(mypath + content);//myFile.getFileName()); 
    cn.executeUpdate("insert into [file](filename,username) values('"+content+"','"+user+"')");
    url[i]=content;
    //out.println("FieldName = " + myFile.getFieldName() + "<BR>");
    //out.println("Size = " + myFile.getSize() + "<BR>");
    //out.println("FileName = " + myFile.getFileName() + "<BR>");
    //out.println("FileExt = " + myFile.getFileExt() + "<BR>");
    //out.println("FilePathName = " + myFile.getFilePathName() + "<BR>");
    //out.println("ContentType = " + myFile.getContentType() + "<BR>");
    //out.println("ContentDisp = " + myFile.getContentDisp() + "<BR>");
    //out.println("TypeMIME = " + myFile.getTypeMIME() + "<BR>");
    //out.println("SubTypeMIME = " + myFile.getSubTypeMIME() + "<BR>");
    count ++;
    }
    }
    //out.println("<BR>" + myUpload.getFiles().getCount() + " files could be uploaded.<BR>");
    //out.println(count + " file(s) uploaded.");
    %>
      <table cellpadding=0 cellspacing=0 border=0 width=95% bgcolor=#777777 align=center>
        <tr> 
          <td> 
            
          <table cellpadding=3 cellspacing=1 border=0 width=100%>
            <tr> 
              <td bgcolor=#e8f4ff align=center><font face="宋体" color=#333333><b>文件上传成功!</b>(可以在论坛中把地址用HTML代码贴出来)</font></td>
            </tr>
            <tr bgcolor="#f2f8ff"> 
              <td valign=middle align=center> &nbsp; &nbsp;<a href="upload.jsp"><img src="PIC/upload.gif" border=0 alt="上传文件" width="50" height="28"></a><br><br>
                上传文件资料:<br><br>
    <%
    for(int i=0;i<url.length;i++) {
    if(url[i]!=null&&url[i].trim()!="")
    out.println("<a href='http://172.18.24.134:9999/BBS/information/"+url[i]+"' target='_blank'>"+url[i]+"</a><br><br>");
    }
    %>
              </td>
            </tr>
            <tr bgcolor="#e8f4ff"> 
              <td valign=middle align=center bgcolor="#e8f4ff"> <b><a href="javascript:history.back();">&lt;&lt;返回上一页</a></b></td>
            </tr>
          </table>
          </td>
        </tr>
      </table>
    <%
    } else {
    %>
    <br>
        <table cellpadding=0 cellspacing=0 border=0 width=95% bgcolor=#0099cc align=center>
            <tr>
                <td>
                    <table cellpadding=3 cellspacing=1 border=0 width=100%>
        <tr align="center"> 
          <td width="100%" bgcolor=#99ccff><font color="#000000"><b>论坛错误信息</b></font></td>
        </tr>
        <tr> 
          <td width="100%" bgcolor=#f2f8ff><font color="#000000"><b>产生错误的可能原因:</b><br><br>
    <li>您是否仔细阅读了<a href="help.jsp" target="_blank"><font color="#000000">帮助文件</font></a></li><%=errmessage%></font>
          </td>
        </tr>
        <tr align="center"> 
          <td width="100%" bgcolor=#99ccff>
    <a href="javascript:history.go(-1)"><font color="#000000"> << 返回上一页</font></a>
          </td>
        </tr>  
        </table>   </td></tr></table>
    <%
    }
    %>
    <br>
    <br>
    <%@include file="inc/bottom.jsp"%>
    </BODY></HTML>
      

  3.   

    楼上的代码感觉那么熟悉,好象是俺写那个
    确实可以实现上传功能,上传使用了smartupload,可以自己设置可以同时上传的文件数
      

  4.   

    sjie_ji(青藤) 
    你说的是什么? 说给我听听,相互学习.:)
      

  5.   

    希偌兄当然厉害了,java区里不认识你的肯定是刚来CSDN了。
    你那段代码确实经典,我一直收藏着啊~~
    别人不会就介绍给别人了。我代表各位热爱JAVA的仁兄向希偌兄说声谢谢~~