new ServletFileUpload()创建一个未初始化的实例。它的文档说:
构造此类的未初始化实例。在尝试解析请求之前,必须使用setFileItemFactory()配置工厂。
因此,您需要使用
setFileItemFactory()或使用其他构造函数,该构造函数将工厂作为参数。像这样:
// Create a factory for disk-based file itemsFileItemFactory factory = new DiskFileItemFactory();// Create a new file upload handlerServletFileUpload upload = new ServletFileUpload(factory);
有关更多信息,请参见文档。这个例子也是从那里开始的。
或者,您可以使用流API,但随后需要以不同的方式获取迭代器:
ServletFileUpload upload = new ServletFileUpload();FileItemIterator iter = upload.getItemIterator(request);while (iter.hasNext()) { FileItemStream item = iter.next(); ...}


