0

I have written servlet code to upload photo to my database and when I run the page and try to upload photo I'm getting Exception at this point

Part filePart = request.getPart("photo");

where photo is name is given to input field in my form and the code for that is

<input type="file" id="photo" name="photo">

and the Exception report shown by Apache tomcat in the browser is

type: Exception report

message: Servlet execution threw an exception

description: The server encountered an internal error that prevented it from fulfilling this request.

exception:

javax.servlet.ServletException: Servlet execution threw an exception

root cause:

java.lang.AbstractMethodError:org.apache.catalina.connector.RequestFacade.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;

      Uploaddp.doPost(Uploaddp.java:57)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

Full stack trace

Sep 29, 2016 3:44:52 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Uploaddp threw exception
java.lang.AbstractMethodError: org.apache.catalina.connector.RequestFacade.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;
    at Uploaddp.doPost(Uploaddp.java:57)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    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.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)

1 Answers1

0

there is no type as "file". you need to use multpart/form-data. For more refer to this post What does enctype='multipart/form-data' mean? Also, to fetch this file at server side you need to use some library as explained here Convenient way to parse incoming multipart/form-data parameters in a Servlet Also, take into considerations like where will you store these files on server after processing. Users might like to download uploaded images. Also, security around accessibility of these files.

Community
  • 1
  • 1
Prateek Jain
  • 2,738
  • 4
  • 28
  • 42