如题目所述,我按照网上的一个方法写成如下形式,但是依然在提交后,报错mysmartupload初始化的部分nullpoint的错误。
代码如下,请各位高人帮忙看一下
action中代码:        public class UploadServlet extends HttpServlet{        
      public void doPost(HttpServletRequest request,HttpServletResponse   response){   
   SmartUpload mySmartUpload = new SmartUpload(); 
       try {
   mySmartUpload.initialize(this.getServletConfig(), request, response);
   mySmartUpload.setMaxFileSize(10000); 
   mySmartUpload.setTotalMaxFileSize(20000); 
   mySmartUpload.setAllowedFilesList("doc,txt"); 
   mySmartUpload.setDeniedFilesList("exe,bat,jsp,htm,html,,"); 
   mySmartUpload.upload(); 
   int count = mySmartUpload.save("/upload");   
   for (int i=0;i<mySmartUpload.getFiles().getCount();i++) 
   { 
   com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i); 
   if (file.isMissing()) continue; 
   file.saveAs("/upload/" + file.getFileName(),mySmartUpload.SAVE_VIRTUAL); 
   }
   } catch (ServletException e) {
   e.printStackTrace();
   } catch (IOException e) {
   e.printStackTrace();
   } catch (SQLException e) {
   e.printStackTrace();
   } catch (SmartUploadException e) {
   e.printStackTrace();
   } 
      }
}    public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UploadForm uploadForm = (UploadForm) form;
UploadServlet us = new UploadServlet();
us.doPost(request, response);

return mapping.findForward("uploadsuccess") ;
}
这段代码只是为了试验功能用的,因此就直接上传到了tomcat里。
mySmartUpload.initialize换了初始化方法,不得到pageContext,用ServletConfig也还是不行。另外,还有个问题,在页面的html:form里,有ENCTYPE="multipart/form-data",应该是支持多文件上传的,但是改到action方式之后,会报措,具体错误忘记了,大概就是这段话用的不正确删掉后就没问题了,但是如此一来,即使能上传文件,也不能同时上传多个文件了吧?
这个问题也请各位指教一下,谢谢

解决方案 »

  1.   

    你用apache common fileupload 好了.
    ENCTYPE="multipart/form-data", 有文件上传, 用这个是对的. ]
      

  2.   

    用那个倒是也可以~不过我想研究一下这个smartupload,希望各位能不吝赐教~
      

  3.   

    PageContext   pageContext   =   JspFactory.getDefaultFactory().getPageContext(this,   request,   response,   null,   true,   8192,   true);  这个好使!试下!