Get all updates of Java4s
Follow Us: Email Newsletter

Struts 2 File Upload & Save Example

Struts » On Nov 8, 2011 { 20 Comments } By Sivateja

Let us see how to work with file uploads in struts 2 frame work, things to remember while working with this type of application

  • See in index.jsp i have taken <s:file  name=”uploadFile” i mean my file tag name is uploadFile
  • We used to write setters, getters for this property in Action class right, but while writing we need to write setters, getters for 2 more properties with names uploadFileFileName  &  uploadFileContentType
  • I mean name format must be [ our file property name ]ContentType & [ our file property name ]FileName
  • Actually at run time struts 2 container will injects the required file details into these properties, and thing is see struts.xml –  line 23 fileUpload is the predefined interceptor class, this will take cares every thing
  • Once file uploaded, struts 2 will stores the file with some temp name, its our responsibility to convert and save that file,  see line numbers 39,40,41,42 in Action class of

File Upload Example

required files….

  • index.jsp
  • success.jsp
  • web.xml
  • struts.xml

Directory Structure






Output If if we take wrong file

Output If file accepted


You Might Also Like

  ♦ About Author ♦

Full Stack( Java/J2EE & UI/UX ) Developer and founder of Java4s - Get It Yourself, A popular Java/J2EE Programming Blog. Sign-up for the Email Newsletter for your daily dose of Java tutorials.


20 Responses to “Struts 2 File Upload & Save Example”
  1. Merlene Standberry says:

    Well I really enjoyed reading it. This article offered by you is very constructive for accurate planning.

  2. saharh says:

    thanks for this.

    but if we want to check that only .txt or .csv is uploaded then how to validate the extension..

  3. Java4s says:


    Actually in the current example i have given

    <param name=”allowedTypes”>text/plain</param>

    to allow text related files only. When the uploaded file type does not match one of the MIME types specified a field error will be created.

    If that is image, you can give

    <param name=”allowedTypes”>image/jpeg</param>


    <param name=”allowedTypes”>image/gif</param>

    its depends.

  4. Bhaskar says:

    I am unable to find to retrieve the uploaded file,the filePath mentioned did not contain any concerned file!

  5. Java4s says:


    You will be able to find your uploaded file in ‘c:/Myuploads‘ location, however you can change the location.

  6. kanishka says:

    this is work how can we upload mp3 file format

  7. prabakaran says:

    could u plz do with oracle database because im facing with oracle db but not with mysql

  8. vaigha says:

    how to save the file in a different extension.Like i can upload both .xls & .xlsx but it should save in .xlsx format only.How can i do that?

  9. Amol Ubale says:

    Nice article to good support to my project for uploading file.

  10. Very useful for me.Thank you so much.

  11. shakti singh says:

    can u please post a tutorial on struts 2 preloaded interface and service locator… Thnx in advance :P

  12. munna says:

    please reply me how to add datetimestamp to filename while uploading file.?????

  13. niraj says:

    i upload .csv file and i got .tmp file.. so how could i get my original file (.csv).

  14. Pavan says:

    Can you explain a code uploading image to mySQL database using struts2, WITHOUT any tiles or hibernate ingration. Thankyou.

  15. Sudeetha Nuwan says:

    application/ use for upload csv and another ms excel related formats.

  16. sankar says:

    very nice examples easy to under stand thank you so much

  17. k says:

    The image uploaded is not accepted..its showing null

  18. Subrahmanyam says:

    File upload interceptor is not working fine in ie if i give valid file format also not accepting

  19. chikku says:

    org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NullPointerException

  20. san says:

    Hi, i tried the above one but i’m getting “java.lang.NoSuchMethodError: org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(Lorg/apache/commons/fileupload/RequestContext;)Ljava/util/List;” error so for what reason i’m getting this error i followed all the steps and including jar files.


By posting your answer, you agree to our comments policy.
What would you like to learn today?
Browse these popular technologies
Hibernate spring struts Servlets ajax Log4j jQuery Json Core Java Web Services AngularJs
Most Recent Tutorials
Hibernate_Logo Hibernate Recent Posts Spring_Logo Spring Recent Posts Struts_Logo Struts Recent Posts
Useful Links Current & UpComing Tutorials
  Web Services [ SOAP ], JSP
Contact | About Us | Privacy Policy | Advertise With Us

© 2010 - 2016 Java4s - Get It Yourself.
The content is copyrighted to Sivateja Kandula and may not be reproduced on other websites.