FileUpload:找不到DeferredFileOutputStream类?

use*_*701 8 java servlets apache-commons-fileupload

我正在使用apache FileUpload来处理..文件上传.我在码头上用它.servlet看到multipart请求,但在执行时抛出NoClassDefFoundError异常:

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
  throws ServletException, IOException 
{
  boolean isMultipart = ServletFileUpload.isMultipartContent(req);
  if (isMultipart) {
    try {
      FileItemFactory factory = new DiskFileItemFactory();

      ServletFileUpload upload = new ServletFileUpload(factory);

      List items = upload.parseRequest(req); //  exception
      ...
Run Code Online (Sandbox Code Playgroud)

抛出:

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
   at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:199)
Run Code Online (Sandbox Code Playgroud)

引起的:

java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream
Run Code Online (Sandbox Code Playgroud)

除了commons-fileupload-1.2.2.jar之外,我们还需要包含一个额外的jar吗?

我的目标是只上传一个文件并将其写入磁盘.

谢谢

Piy*_*too 14

您需要将CommonsIO添加到类路径中.Commons File Upload取决于它.