上面的那篇贴子已经回过了,
要用上传组件 的:
String values = myUpload.getRequest().getParameter("values");

解决方案 »

  1.   

    呵呵~~
    http://expert.csdn.net/Expert/topic/1339/1339805.xml?temp=.8928339
      

  2.   

    <form method="post" enctype="multipart/form-data"    action="upload.jsp"> 
    文件上传肯定是要这么做的,这样就是将文件以二进制流的数据形式上传,很明显,同理整个form里面的对象在request里面都是二进制流的形式,也就是说request.getParameter("values");这种根本无法取到,想想看,一个是字符串读取,一个确为二进制流,自然对不上号。
    所以,要想读取正确的values值,必须对整个二进制流进行解析,这个在smartupload的控件里面已经有了详细的方法,建议自个去看看。
      

  3.   

    <%@ 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> 
      

  4.   

    // Retreive Requests' names
    java.util.Enumeration e = myUpload.getRequest().getParameterNames(); // Retreive parameters
    while (e.hasMoreElements()) { String key = (String)e.nextElement();
    String[] values = myUpload.getRequest().getParameterValues(key);

    // Browse the current parameter values
    for(int i = 0; i < values.length; i++) {
       out.print(key + " = ");
       out.print(values[i] + "<BR>");
    }
    }