Do you have a different version of the jar in your lib directory to the one on your build path?

On 17 Feb 2010, at 09:11, NIko Judo wrote:

Hola he probado el codigo siguiente para recibir un formulario
multipart en mi aplicacion :

Test folowing code

import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import java.io.InputStream;
import java.io.IOException;
import java.util.logging.Logger;

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

public class FileUpload extends HttpServlet {
 private static final Logger log =
     Logger.getLogger(FileUpload.class.getName());


 public void doPost(HttpServletRequest req, HttpServletResponse res)
     throws ServletException, IOException {
   try {
     ServletFileUpload upload = new ServletFileUpload();
     res.setContentType("text/plain");

     FileItemIterator iterator = upload.getItemIterator(req);
     while (iterator.hasNext()) {
       FileItemStream item = iterator.next();
       InputStream stream = item.openStream();

       if (item.isFormField()) {
         log.warning("Got a form field: " + item.getFieldName());
       } else {
         log.warning("Got an uploaded file: " + item.getFieldName() +
                     ", name = " + item.getName());

         // You now have the filename (item.getName() and the
         // contents (which you can read from stream).  Here we just
         // print them back out to the servlet output stream, but you
         // will probably want to do something more interesting (for
         // example, wrap them in a Blob and commit them to the
         // datastore).
         int len;
         byte[] buffer = new byte[8192];
         while ((len = stream.read(buffer, 0, buffer.length)) != -1)
         {
           res.getOutputStream().write(buffer, 0, len);
         }
       }
     }
   } catch (Exception ex) {
     throw new ServletException(ex);
   }
 }


   @Override
   protected void doGet(HttpServletRequest request,
HttpServletResponse response)
   throws ServletException, IOException {

   }



}

el caso es que simpre me da un error cuando envio el formulario con
image

folowing error :

Error for /FileUpload
java.lang.NoSuchMethodError:
org .apache .commons.fileupload.servlet.ServletFileUpload.getItemIterator(Ljavax/
servlet/http/HttpServletRequest;)Lorg/apache/commons/fileupload/
FileItemIterator;
        at com.ubicacion.servlet.FileUpload.doPost(FileUpload.java:32)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1093)
        at
com .google .apphosting .utils .servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
97)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1084)
        at
com .google .apphosting .runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
35)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1084)
        at
com .google .apphosting .utils .servlet .TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1084)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
360)
        at
org .mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
712)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
        at
com .google .apphosting .runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
238)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
139)
        at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:830)
        at
com .google .apphosting .runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
        at
com .google .apphosting .runtime .jetty .JettyServletEngineAdapter .serviceRequest(JettyServletEngineAdapter.java:
135)
        at
com .google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
235)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5485)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5483)
        at
com .google .net .rpc .impl .BlockingApplicationHandler .handleRequest(BlockingApplicationHandler.java:
24)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
363)
        at com.google.net.rpc.impl.Server$2.run(Server.java:837)
        at
com .google .tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
56)
        at
com .google .tracing .LocalTraceSpanBuilder .internalContinueSpan(LocalTraceSpanBuilder.java:
536)
        at com.google.net.rpc.impl.Server.startRpc(Server.java:792)
        at com.google.net.rpc.impl.Server.processRequest(Server.java:367)
        at
com .google .net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:
448)
        at
com .google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
319)
        at
com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
290)
        at com.google.net.async.Connection.handleReadEvent(Connection.java:
474)
        at
com .google .net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:
774)
        at
com .google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
205)
        at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
101)
        at
com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
251)
        at com.google.apphosting.runtime.JavaRuntime
$RpcRunnable.run(JavaRuntime.java:394)
        at java.lang.Thread.run(Unknown Source)


alguna idea?

que version de commons-file-upload y commons-io usa appengine
I use the version commons-file-upload-1.2.1 and commons-io-1.4 in my
application



--
You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com . To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en .


--
You received this message because you are subscribed to the Google Groups "Google 
App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to