Java Servlet/Jsp image upload along with form values -
i have jsp form accepts details employee name, sex, age, e-mail address ,
servlet 3.0 container's has standard support multipart data. first should writing html page takes file input along other input parameters.
<form action="uploadservlet" method="post" enctype="multipart/form-data"> <input type="text" name="name" /> <input type="text" name="age" /> <input type="file" name="photo" /> <input type="submit" /> </form>
now write uploadservlet uses servlet 3.0 upload api. here code demonstrates usage of api. fist servlet handling multipart data should define multipartconfig using of 2 approaches:
@multipartconfig
annotation on servlet class- in
web.xml,
adding<multipart-config>
entry inside<servlet>
definition.
here uploadservlet,
@multipartconfig public class uploadservlet extends httpservlet { protected void service(httpservletrequest request, httpservletresponse responst) throws servletexception, ioexception { collection<part> parts = request.getparts(); if (parts.size() != 3) { //can write error page saying details not entered } part filepart = httpservletrequest.getpart("photo"); inputstream imageinputstream = filepart.getinputstream(); //read imageinputstream filepart.write("somefiepath"); //can write photo local storage //read name, string type part namepart = request.getpart("name"); if(namepart.getsize() > 20){ //write name cannot exceed 20 chars } //use nameinputstream if required inputstream nameinputstream = namepart.getinputstream(); //name , string type can obtained using request parameter string nameparameter = request.getparameter("name"); //similialrly can read age properties part agepart = request.getpart("age"); int ageparameter = integer.parseint(request.getparameter("age")); } }
if not using sevlet 3.0 container, should truing apache commons file upload. here links using apache commons file upload:
references:
Comments
Post a Comment