使用smartupload上传文件出现空指针异常,请各位高手帮忙指点!!!!急~~~~~~~~

解决方案 »

  1.   

    smartupload本身就有BUG,文件太大就捕获到异常,改源码吧
      

  2.   

    可使用newxy的文件上传技术,超简单.
    范例:http://www.newxy.net/zh_cn/samples/sample2/demo.jsp,可亲手上传试试.
    技术文章:http://www.newxy.net/zh_cn/articles/fasterThanSmart.jsp
      

  3.   

    实例化上载bean
        com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
        //初始化 
        mySmartUpload.initialize(getServlet().getServletConfig(), request, response);     
        //设置上载的最大值     
        //mySmartUpload.setMaxFileSize(1000 * 1024*1024);//
        mySmartUpload.upload();     
        //声明可以上传的文件类型(可上传无扩展名的文件)
        //mySmartUpload.setAllowedFilesList("swf,rm,jpg");
        //上载文件
        File  myFile = mySmartUpload.getFiles().getFile(1);    
       //循环取得所有上载的文件
      // for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
       //取得上载的文件
       //com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
       if (!myFile.isMissing())
        {
       //取得上载的文件的文件名
      String FileName=myFile.getFileName();   
        //保存路径
        String aa="F:\\eclipse\\workspace\\youtube\\";
        String trace=aa+FileName;
        //将文件保存在服务器端 
        myFile.saveAs(trace);
        
    这是action类里的代码
      

  4.   

    在一个jsp里做吧,这样上传完毕后可以向客户显示上传的信息:
    saveUpload.jsp:
    <%@ page contentType="text/html;charset=gb2312" %>
    <%@ page import="com.jspsmart.upload.*" %>
    <%@ page import="common.Tools"%>
    <html>
    <head>
    <title>文件上传处理页面</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>
    <% SmartUpload su = new SmartUpload();
     su.initialize(pageContext);
     su.setDeniedFilesList("bat");
     su.upload();
     int count = su.save("F:\\upload");
     out.println(count+"个文件上传成功!<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>文件"+(int)(i+1)+":</TD><TD></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>");
               
     }
    %>
    <a href="/jsp/index.jsp">返回首页</a>
    </body></html>
      

  5.   

    简单的要死,自己写一个啦,别用它的。再说空指针的问题也很好解决的。Source Code呢?
      

  6.   

    File  myFile = mySmartUpload.getFiles().getFile(1);我觉得这句有问题了你改成 File  myFile = mySmartUpload.getFiles().getFile(0);