Domanda

sto usando apache FileUpload per gestire un .. upload di file. Lo sto usando con molo. Il servlet vede la richiesta più parti, ma genera un'eccezione NoClassDefFoundError al momento dell'esecuzione:

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
      ...

getta:

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

causati da:

java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream

C'è un vaso addizionale abbiamo bisogno di includere oltre commons-fileupload-1.2.2.jar?

Il mio obiettivo è quello di caricare solo un singolo file e scrivere su disco.

Grazie

È stato utile?

Soluzione

È necessario aggiungere CommonsIO al classpath. File Upload Commons è dipendente da esso.

Altri suggerimenti

Aggiungi al di sotto di dipendenza

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top