大家好 我上网下了个jspsmartupload组件
写了个简单的实例
代码如下
<!--  
文件名:upload.html  
-->  
<!doctype html public "-//w3c//dtd html 4.01 transitional//en">  
<html>  
<head>  
<title>文件上传</title>   
</head>  <body>  
<p> </p>  
<p align="center">上传文件选择</p>  
<form method="post" action="upload.jsp"  
enctype="multipart/form-data" >  <table width="75%" border="1" align="center">  
<tr><td align="center">主题:<input type="text" name="test"></td></tr>
<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> upload。jsp代码如下
<%@ page contenttype="text/html; charset=GBK" language="java"  
import="java.util.*,com.jspsmart.upload.*" errorpage="" %> 
<jsp:useBean id="myu" scope="page" class="com.jspsmart.upload.SmartUpload"/>
<html>  
<head>  
<title>文件上传处理页面</title>  
<**** http-equiv="content-type" content="text/html; charset=GBK">  
</head>  <body>  
<%  
// 新建一个smartupload对象  
String destination="/images/"; 
// 上传初始化  
myu.initialize(pagecontext);  
// 设定上传限制  
// 1.限制每个上传文件的最大长度。  
myu.setMaxFileSize(10000);  
// 2.限制总上传数据的长度。  
myu.setTotalMaxFileSize(20000);  
// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。  
myu.setAllowedFilesList("doc,txt");  
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,  
//jsp,htm,html扩展名的文件和没有扩展名的文件。  
myu.setDeniedFilesList("exe,bat,jsp,htm,html,,");  
// 上传文件  
myu.upload(); 
String content=myu.getRequest().getParameter("test"); 
out.print(content);
for(int i=0;i<myu.getFiles().getCount();i++)
{
com.jspsmart.upload.File myf=myu.getFiles().getFile(i);
if(!myf.usMissing())
{
myf.saveAs(destination+myf.getFileName);
count++;
}
}out.print(count+"个文件上传了!");  
%>  
</body>  
</html> 报的错误是type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /admin/upload.jsp(2,0) Page directive has invalid attribute: contenttype
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
org.apache.jasper.compiler.JspUtil.checkAttributes(JspUtil.java:311)
org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:106)
org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:590)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
org.apache.jasper.compiler.Validator.validate(Validator.java:1700)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:178)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.我的项目意识是把本地一些文件 如 PDF 格式 execle 格式  txt格式的文件上传到服务器上 存放到项目下的iMAGES 文件夹下 再把路径存到数据库里面  哪个仁兄帮下忙!
 我估计是下载的JAVA 文件不对 结果从新编译时又报 找个到SERVLET jar的错误  比如其中的File.java 编译报如下错误C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MgS\WEB-INF\class
es\bean\upload>javac File.java
File.java:9: 软件包 javax.servlet 不存在
import javax.servlet.ServletException;
                    ^
File.java:13: 找不到符号
符号: 类 SmartUpload
位置: 类 com.jspsmart.upload.File
    private SmartUpload m_parent;
            ^
File.java:48: 找不到符号
符号: 类 SmartUploadException
位置: 类 com.jspsmart.upload.File
    public void saveAs(String s) throws IOException,SmartUploadException
                                                    ^
File.java:53: 找不到符号
符号: 类 SmartUploadException
位置: 类 com.jspsmart.upload.File
    public void saveAs(String s,int i) throws IOException,SmartUploadException
                                                          ^
File.java:77: 找不到符号
符号: 类 ServletException
位置: 类 com.jspsmart.upload.File
    public void fileToField(ResultSet resultset,String s) throws ServletExceptio
n,IOException,SmartUploadException,SQLException
                                                                 ^
File.java:77: 找不到符号
符号: 类 SmartUploadException
位置: 类 com.jspsmart.upload.File
    public void fileToField(ResultSet resultset,String s) throws ServletExceptio
n,IOException,SmartUploadException,SQLException              ^
File.java:189: 找不到符号
符号: 类 SmartUpload
位置: 类 com.jspsmart.upload.File
    protected void setParent(SmartUpload smartupload)
                             ^
File.java:73: 找不到符号
符号: 类 SmartUploadException
位置: 类 com.jspsmart.upload.File
            throw new SmartUploadException("File can't be saved (1120).");
                      ^
File.java:119: 找不到符号
符号: 类 SmartUploadException
位置: 类 com.jspsmart.upload.File
            throw new SmartUploadException("Unable to save file in the DataBase
(1130).");
                      ^
9 错误C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MgS\WEB-INF\class
es\bean\upload>

解决方案 »

  1.   

    如果哪位仁兄有 打好包可以用的 jspsmartUPLOAD组件 给我发一份吧 给个实例   感激不尽
      

  2.   

    <%@ page contenttype="text/html; charset=GBK" language="java"  
    错了...contentType
      

  3.   

    <% 
    // 新建一个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("D:/temp"); 
    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); }
      

  4.   

    ....
    最好在IDE中编译,否则要把用到的jar 包设置到环境中
    javax.servlet.*是j2ee的包,可以在tomcat/commons/lib下找到相关的jar包
      

  5.   

    将smartupload所在的jar包所在的路径配置到classpath。
      

  6.   

    各位有没有打包好的JAR包啊  给我发个吧 我下的那个好像有错误
      

  7.   

    我把相应的jar包加到classpath里面后编译完后还是报错 
    请问各位
    我打好JAR包了  编译好的5个 class 文件在 com\jspsmart\upload 目录下 
      
    File.class  Files.class  Request.class    ServletUpload.class    SmartUpload.class      SmartUploadException.class                                              我打成 jspsmartupload.jar   
    在jsp页面引用的时候 是 import com.jspsmart.upload.*     还是  import jspsmartupload.*