在上传的过程中怎么获得下面文件名和类别的值,是用jsp页面的写的上传的代码?直接request.getParameter()无效,请各位前辈指教。<form action="fileupload" method="post" enctype="multipart/form-data"
            name="form1">
    文件名:
            <input type="text" name="name" >
            <br>
            类别:
            <select id="select" name="select">
                <option value="系统安全">
                    系统安全
                </option>
                <option value="网络电视">
                    网络电视
                </option>
                <option value="影音播放">
                    影音播放
                </option>
                <option value="即时聊天">
                    即时聊天
                </option>
                <option value="其他常用">
                    其他常用
                </option>
            </select>
            <br>
            地址:
            <input type="file" name="file">
            
                <br>
                <input type="submit" name="Submit" value="上传">
        </form>

解决方案 »

  1.   

    String []types = request.getParameterValues("select");
    String type = types[0];
    String name = request.getParameterValues("name");应该可以的吧!!!
      

  2.   

    如果用Struts的话,在JSP里面配置
    <%@ page contentType="text/html; charset=utf-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <s:form method="post" id="fm"  name="uploadForm" action="upfilesingle" namespace="/admin" enctype="multipart/form-data" onsubmit="return check();" theme="simple">
            <s:file id="myFile" name ="myFile" label ="选择后上传" />
    <select id="select" name="select">
      <option value="系统安全">
      系统安全
      </option>
      <option value="网络电视">
      网络电视
      </option>
      <option value="影音播放">
      影音播放
      </option>
      <option value="即时聊天">
      即时聊天
      </option>
      <option value="其他常用">
      其他常用
      </option>
      </select>
            <s:submit />
          </s:form>xml中配置
    <action name="upfile" class="upfile">
    <action name="fileupload" class="你的Class文件">
       <interceptor-ref name="fileUpload" >
       <param name="maximumSize">2048000</param> 
                    <param name ="allowedTypes" > 
                        image/bmp,image/png,image/gif,image/jpeg,image/x-png,image/pjpeg
                    </param > 
                </interceptor-ref > 
                <interceptor-ref name="defaultStack" /> 
    <result name="input">
    /WEB-INF/你的上传页面.jsp
    </result>
    <result>
     /WEB-INF/成功后需要跳转的页面.jsp </result>
    private File myFile = null;
    private String contentType;
    private String fileName = null;
    private String otherFileName;
            private String fileType
            <!--每个变量加上对应的Set/get方法,就可以了 -->
      

  3.   

    有2中方式:
    1.你把其他的参数放在url里进行传递,request.getParameter()获取;
    2.在form里提交:
    for(FileItem item:fileItems)
    {
        String formname = item.getFieldName();// 获取form中的名字
         if(formname.equals("select"))
           String select= item.getString("UTF-8");   
    }
      

  4.   

    FileUpload提供了API
    // Create a factory for disk-based file items
    DiskFileItemFactory factory = new DiskFileItemFactory();// Set factory constraints
    factory.setSizeThreshold(yourMaxMemorySize);
    factory.setRepository(yourTempDirectory);// Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);// Set overall request size constraint
    upload.setSizeMax(yourMaxRequestSize);// Parse the request
    List /* FileItem */ items = upload.parseRequest(request);Iterator iter = items.iterator();
    while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();// Form字段
        if (item.isFormField()) {
            String name = item.getFieldName();
            String value = item.getString();
        } else {
    // 文件流
            String fieldName = item.getFieldName();
            String fileName = item.getName();
            String contentType = item.getContentType();
            boolean isInMemory = item.isInMemory();
            long sizeInBytes = item.getSize();
        }
    }