起源:
在Servlet 中使用commons-io和commons-fileupload 上传文件
问题:
java.lang.NullPointerException: No FileItemFactory has been set.
在网上找几个博客,发现都是互相抄袭,因为原博主博文(也许是个小失误)的“问题原因”和“解决办法”的小标题下面都是空的!然后接连几个链接都是一模一样的内容。
最终在StackOverflow 找到原因和解决办法:
使用ServletFileUpload()默认构造器创建未初始化的实例,需要以factory作为构造函数或者setFileItemFactory()方法对factory进行配置:
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
参考:http://stackoverflow.com/questions/2332563/java-lang-nullpointerexception-no-fileitemfactory-has-been-set