建议你先别用smartupload, 最好先弄懂上传到底是怎么一回事。上传这个动作是ie做的,server只是接受,你可以把接受到的东西(字节流)打出来看,你就会明白上传和submit没什么太大区别,只是ie用type=file, 发出来的格式是建立在http上面的文件格式。然后你再研究smartupload, 就会发现它只是做的全面一点。

解决方案 »

  1.   

    其实,你有没有试过在jbuilder9里面启动tomcat,而在浏览器里运行程序?
      

  2.   

    SmartUpload mySmartUpload=new SmartUpload();
    mySmartUpload.initialize(pageContext);
    mySmartUpload.upload();
      

  3.   

    看看这篇文章(jspSmartUpload上传下载全攻略)
    http://www.knowsky.com/3136.html截取其中的一部分<%@ 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>
      

  4.   

    to dropship,我在jb里启动tomcat,在浏览器里就不行。
    只有一种情况成功过,就是在jb内部自己的界面下运行可以
      

  5.   

    su.initialize(pageContext);//
    这句话我在源程序里是有的,拷贝粘贴过来的时候漏了
      

  6.   

    你把上传文件的jsp和处理页面这两个发到我的邮箱里面
      

  7.   

    我问题好像找到了,毛病不出在这个处理上传的页面上,而是处在调用此页面的那个jsp,那个jsp里有两个表单,第一个调用上传文件网页,第二个调用另外一个,我现在把第二个form的内容给隐去了,只保留第一个,就可以上传成功了,怎么让两个form和平共处呢?