I met a problem. I upload files from a page. In the tranditional servlet, all things are right. The code is :
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory = new DiskFileItemFactory(); // set cache factory.setSizeThreshold(10240000); // set temp String base = "d:/upload"; File file = new File(base); if(!file.exists()) file.mkdirs(); factory.setRepository(file); ServletFileUpload upload = new ServletFileUpload(factory); // set the single max upload.setFileSizeMax(10002400000l); // set the whole max upload.setSizeMax(10002400000l); upload.setHeaderEncoding("UTF-8"); try { List<?> items = upload.parseRequest(request); FileItem item = null; String fileName = null; for (int i = 0 ;i < items.size(); i++){ item = (FileItem) items.get(i); fileName = base + File.separator + item.getName(); // save file if (!item.isFormField() && item.getName().length() > 0) { item.write(new File(fileName)); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } but when I transfer these codes to a setupRender() of a tapestry page. After debug, I found that after it go to "List<?> items = upload.parseRequest(request); ", the varible items will be empty. I use "HttpServletRequest request = requestGlobal.getHTTPServletRequest();" to get request object, it is not null. any help? 2009-08-14 Rockie C.