code: private void parseFileUpload(FileUpload fileUpload) throws IOException {
          if (!fileUpload.isCompleted()) {
              return;
          }
          FileItem fileItem = new FileItem();
          fileItem.setName(fileUpload.getName());
          fileItem.setFileName(fileUpload.getFilename());
  
          // Upload the file is moved to the specified temporary file,
          // because FileUpload will be release after completion of the analysis.
          // tmpFile will be deleted automatically if they are used.
          Path tmpFile = Files.createTempFile(
                  Paths.get(fileUpload.getFile().getParent()), "blade_", "_upload");
  
          Path fileUploadPath = Paths.get(fileUpload.getFile().getPath());
          Files.move(fileUploadPath, tmpFile, StandardCopyOption.REPLACE_EXISTING);
  
          fileItem.setFile(tmpFile.toFile());
          fileItem.setPath(tmpFile.toFile().getPath());
          fileItem.setContentType(fileUpload.getContentType());
          fileItem.setLength(fileUpload.length());
  
          fileItems.put(fileItem.getName(), fileItem);
      }
docs: Parse FileUpload to {@link FileItem}.
  
  @param fileUpload netty http file upload