日期:2014-05-17  浏览次数:20711 次

如做上传图片,jsp获取文本框的值为空.如不做上传力片,则jsp获取文本框的值正确,为什么
<FORM METHOD="POST" ACTION="do_upload.jsp" ENCTYPE="multipart/form-data">  
<input type="text" name="username">
<input type="text" name="password">
<input type="file" name="productPicture">
<input type="file" name="ssPicture">
<input type="submit" name="提交">
</form>
我在do_upload.jsp页面中system.out.println(request.getParameter("username"))的值为null,但上传的图片是正确的,如去掉
<input type="file" name="productPicture">
<input type="file" name="ssPicture">这两行.
system.out.println(request.getParameter("username"))能获得从文本框中的值.也就
是说是正确的,这是为什么呢?很迷茫

注:我的处理上传图片和request.getParameter("username")是同一个servlet


------解决方案--------------------
你用什么处理上传文件的,给你点代码看看,处理方式不一样
Java code

// 循环处理所有文件   
        while (fileItr.hasNext()) {   
            FileItem fileItem = null;   
            String path = null;   
            long size = 0;   
            // 得到当前文件   
            fileItem = (FileItem) fileItr.next();   
            // 忽略简单form字段而不是上传域的文件域(<input type="text" />等)   
            if (fileItem == null || fileItem.isFormField()) {   
                continue;   
            }   
            // 得到文件的完整路径   
            path = fileItem.getName();   
            // 得到文件的大小   
            size = fileItem.getSize();   
            if ("".equals(path) || size == 0) {   
                out.println("得到文件的完整路径,请选择上传文件<p />");   
                out.println("<a href=\"index.jsp\" target=\"_top\">返回</a>");   
                return;   
            }