<!-- 
文件名:upload.html 
作 者:纵横软件制作中心雨亦奇([email protected]
--> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>文件上传</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 
<body> 
<p> </p> 
<p align="center">上传文件选择</p> 
<FORM METHOD="POST" ACTION="jsp/do_upload.jsp" 
ENCTYPE="multipart/form-data"> 
<input type="hidden" name="TEST" value="good"> 
<table width="75%" border="1" align="center"> 
<tr> 
<td><div align="center">1、 
<input type="FILE" name="FILE1" size="30"> 
</div></td> 
</tr> 
<tr> 
<td><div align="center">2、 
<input type="FILE" name="FILE2" size="30"> 
</div></td> 
</tr> 
<tr> 
<td><div align="center">3、 
<input type="FILE" name="FILE3" size="30"> 
</div></td> 
</tr> 
<tr> 
<td><div align="center">4、 
<input type="FILE" name="FILE4" size="30"> 
</div></td> 
</tr> 
<tr> 
<td><div align="center"> 
<input type="submit" name="Submit" value="上传它!"> 
</div></td> 
</tr> 
</table> 
</FORM> 
</body> 
</html> 
2、上传处理页面do_upload.jsp 
本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。 
页面源码如下: 
<%-- 
文件名:do_upload.jsp 
作 者:纵横软件制作中心雨亦奇([email protected]
--%> 
<%@ page contentType="text/html; charset=gb2312" language="java" 
import="java.util.*,com.jspsmart.upload.*" errorPage="" %> 
<html> 
<head> 
<title>文件上传处理页面</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> <body> 
<% 
// 新建一个SmartUpload对象 
SmartUpload su = new SmartUpload(); 
// 上传初始化 
su.initialize(pageContext); 
// 设定上传限制 
// 1.限制每个上传文件的最大长度。 
// su.setMaxFileSize(10000); 
// 2.限制总上传数据的长度。 
// su.setTotalMaxFileSize(20000); 
// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 
// su.setAllowedFilesList("doc,txt"); 
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, 
jsp,htm,html扩展名的文件和没有扩展名的文件。 
// su.setDeniedFilesList("exe,bat,jsp,htm,html,,"); 
// 上传文件 
su.upload(); 
// 将上传文件全部保存到指定目录 
int count = su.save("/upload"); 
out.println(count+"个文件上传成功!<br>"); // 利用Request对象获取参数之值 
out.println("TEST="+su.getRequest().getParameter("TEST") 
+"<BR><BR>"); // 逐一提取上传文件信息,同时可保存文件。 
for (int i=0;i<su.getFiles().getCount();i++) 

com.jspsmart.upload.File file = su.getFiles().getFile(i); // 若文件不存在则继续 
if (file.isMissing()) continue; // 显示当前文件信息 
out.println("<TABLE BORDER=1>"); 
out.println("<TR><TD>表单项名(FieldName)</TD><TD>" 
+ file.getFieldName() + "</TD></TR>"); 
out.println("<TR><TD>文件长度(Size)</TD><TD>" + 
file.getSize() + "</TD></TR>"); 
out.println("<TR><TD>文件名(FileName)</TD><TD>" 
+ file.getFileName() + "</TD></TR>"); 
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>" 
+ file.getFileExt() + "</TD></TR>"); 
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>" 
+ file.getFilePathName() + "</TD></TR>"); 
out.println("</TABLE><BR>"); // 将文件另存 
// file.saveAs("/upload/" + myFile.getFileName()); 
// 另存到以WEB应用程序的根目录为文件根目录的目录下 
// file.saveAs("/upload/" + myFile.getFileName(), 
su.SAVE_VIRTUAL); 
// 另存到操作系统的根目录为文件根目录的目录下 
// file.saveAs("c:\\temp\\" + myFile.getFileName(), 
su.SAVE_PHYSICAL); } 
%> 
</body> 
</html> 
===================
这是我参考的例子。。一个很多论坛上面都用的,但是在我这就跑不起来。。就是最后的那个
save_v
save_p
报错请教高手有时间了帮我指点迷津

解决方案 »

  1.   

    老紫竹让你把错误代码贴出来由于不知道LZ遇到什么问题,所以我把JSP改了一下(没有用到save_v 或 save_p),可以传了
    另外,上传的东西用 eclipse 什么的看不到(刷新也没用),到tomcat目录找我的目录结构:
    webroot
      |
      |-jsp(文件夹)
      |  |
      |  do_upload.jsp
      |-upload(文件夹)
      |-upload.html
    do_upload.jsp 的代码如下<%@ page contentType="text/html; charset=gb2312" language="java"
    import="java.util.*,com.jspsmart.upload.*"%>
    <html>
    <head>
    <title>文件上传处理页面</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head> <body>
    <%
    // 新建一个SmartUpload对象 
    SmartUpload su = new SmartUpload();
    // 上传初始化 
    su.initialize(pageContext);
    // 上传文件 
    su.upload();
    // 利用Request对象获取参数之值 
    out.println("TEST=" + su.getRequest().getParameter("TEST")
    + " <BR> <BR>"); // 逐一提取上传文件信息,同时可保存文件。 
    for (int i = 0; i < su.getFiles().getCount(); i++) {
    com.jspsmart.upload.File file = su.getFiles().getFile(i); // 若文件不存在则继续 
    if (file.isMissing())
    continue; // 显示当前文件信息 
    out.println(" <TABLE BORDER=1>");
    out.println(" <TR> <TD>表单项名(FieldName) </TD> <TD>"
    + file.getFieldName() + " </TD> </TR>");
    out.println(" <TR> <TD>文件长度(Size) </TD> <TD>" + file.getSize()
    + " </TD> </TR>");
    out.println(" <TR> <TD>文件名(FileName) </TD> <TD>"
    + file.getFileName() + " </TD> </TR>");
    out.println(" <TR> <TD>文件扩展名(FileExt) </TD> <TD>"
    + file.getFileExt() + " </TD> </TR>");
    out.println(" <TR> <TD>文件全名(FilePathName) </TD> <TD>"
    + file.getFilePathName() + " </TD> </TR>");
    out.println(" </TABLE> <BR>"); // 将文件另存
    file.saveAs("./upload/" + file.getFileName());
    }
    %>
    </body>
    </html>
      

  2.   

     com.jspsmart.upload.File file = su.getFiles().getFile(i);
    这句话的正确形式是 com.jspsmart.upload.smartFile file = su.getFiles().getFile(i);感谢楼上的。给分了,老紫竹的意见我也会注意的