Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Ошибка при загрузке файла


Автор: StandartenFuhrer 4.1.2009, 22:28
Сам сервлет...
Код

package data.servlets;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;



/**
 * Servlet implementation class UploadImagesToServerServlet
 */
public class UploadImagesToServerServlet extends HttpServlet {
    private String webTempPath;



    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {
        try{

            FileUpload fup=new FileUpload();
            boolean isMultipart = FileUpload.isMultipartContent(request);
            // Create a new file upload handler
            System.out.println(isMultipart);
            DiskFileUpload upload = new DiskFileUpload();

            // Parse the request
            List /* FileItem */ items = upload.parseRequest(request);

            Iterator iter = items.iterator();
            while (iter.hasNext()) {

            FileItem item = (FileItem) iter.next();

            if (item.isFormField()) {
            System.out.println("its a field");
            } else {
            System.out.println("its a file");
            System.out.println(item.getName());
            File cfile=new File(item.getName());
            File tosave=new File(getServletContext().getRealPath("/"),cfile.getName());
            item.write(tosave);
            }
            }

            }catch(Exception e){System.out.println(e);}
            

    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {
        doPost(request, response);

    }

}


Форма
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<script type="text/javascript">
    function SS() {
        alert("SSS");
    }
</script>
<head>
<title>Please Choose The File</title>
</head>
<body bgcolor="#ffffff">
<table border="0">
    <tr>

        <form action="/FarmaIS/imageupload" method="post"
            enctype="multipart/form-data">
        <td valign="top"><strong>Please choose your document:</strong><br>
        </td>

        <td><input type="file" name="file"> <br>
        <br>
        </td>
    </tr>

    <tr>
        <td><input type="submit" value="Upload File" ></td>
    </tr>
    </form>

</table>
</body>
</html>


И выдает ошибку
Код


SEVERE: Servlet.service() for servlet UploadImagesToServerServlet threw exception
java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
    at org.apache.commons.fileupload.DefaultFileItemFactory.createItem(DefaultFileItemFactory.java:103)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:310)
    at data.servlets.UploadImagesToServerServlet.doPost(UploadImagesToServerServlet.java:40)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)



что-то решения не могу найти (((

Автор: powerOn 4.1.2009, 22:44
говорит библиотеки apache commons io не хватает. http://commons.apache.org/io/

Автор: StandartenFuhrer 4.1.2009, 22:59
Спасибо друзья... скачал 1.4,поставил... но томкат ее не видел пока систему не ребутнул...
Извините за беспокойство.
Темку можно грохнуть.

Автор: Molodec 19.8.2011, 15:07
StandartenFuhrer, так же само решилась проблема! Спс!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)