我用的是struts1.2public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
DefaultFileItemFactory factory = new DefaultFileItemFactory();
factory.setSizeThreshold(4096);
factory.setRepository(new File("d:\\temp"));

ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100000);
try {
List fileItems = upload.parseRequest(request);
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
String name = item.getString();
long size = item.getSize();
if ((name == null) || name.equals("") && size == 0) {
continue;
}
name = name.substring(name.indexOf("\\")+1,name.length());
item.write(new File("d:\\" + name));
}
}
} catch (Exception e) {
e.printStackTrace();
}

return mapping.findForward("success");

}}jsp 
<%@ page language="java" pageEncoding="gbk"%>
<%
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
String path = request.getContextPath();
%>
<head>
<title>用户登录</title>
</head>

<body>
<form action="<%=path%>/upload.do" method="post" enctype="multipart/form-data" >
上传图片:<input type="file" name="item"/><br>
<input type="submit" value="提交"/>
</form>
</div>
</body>
严重: Servlet.service() for servlet action threw exception
java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at org.apache.commons.fileupload.DefaultFileItemFactory.createItem(DefaultFileItemFactory.java:103)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:310)
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:193)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:442)提示这样的异常,代码哪有问题?

解决方案 »

  1.   

    classpath里面没有放commons.io的jar包
      

  2.   

    org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (110986) exceeds the configured maximum (100000)
    at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:914)
    又报这样的异常
      

  3.   

    its size (110986) exceeds the configured maximum (100000)文件过大了
      

  4.   

    在struts.xml文件最上部加入<constant name="struts.multipart.maxSize" value="1000000000" />struts.properties文件里的配置改为:
    ### Load custom default resource bundles
    struts.multipart.maxSize=1000000000
      

  5.   

     upload.setSizeMax(100000); 设置的大一点
      

  6.   

    <constant name="struts.multipart.maxSize" value="1000000000" />
    在struts-cogfig里加上这个有问题
      

  7.   

    ClassNotFound  ...........