如题目所述,我按照网上的一个方法写成如下形式,但是依然在提交后,报错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方式之后,会报措,具体错误忘记了,大概就是这段话用的不正确删掉后就没问题了,但是如此一来,即使能上传文件,也不能同时上传多个文件了吧?
这个问题也请各位指教一下,谢谢
代码如下,请各位高人帮忙看一下
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方式之后,会报措,具体错误忘记了,大概就是这段话用的不正确删掉后就没问题了,但是如此一来,即使能上传文件,也不能同时上传多个文件了吧?
这个问题也请各位指教一下,谢谢
ENCTYPE="multipart/form-data", 有文件上传, 用这个是对的. ]