Sumit Jain
Sumit Jain

Reputation: 1528

upload file in struts2 using ajax

How can I upload a file in struts 2 using ajax

Upvotes: 7

Views: 9375

Answers (2)

SonTL
SonTL

Reputation: 361

If you want to return json data to client, you can get the error that a file download dialog appear to download json as a text file. I use struts2-json plugin so to fix this error, just add the following config to your action in struts.xml

<param name="contentType">text/plain</param>

my sample

        <action name="uploadFile" class="fileUploadAction">
            <interceptor-ref name="fileUploadStack"/>
            <result name="input">/WEB-INF/pages/uploadForm.jsp</result>
            <result name="success" type="json">
                 <param name="excludeProperties">
                         fileStoreManager, file
                 </param>
                 <param name="contentType">text/plain</param>
            </result>
            <result name="cancel" type="redirectAction">mainMenu</result>
        </action>

Upvotes: 7

Johannes
Johannes

Reputation: 2070

Download the Struts2 jQuery Plugin and do it like you normaly do it with Struts2.

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
    <sj:head/>
  </head>
  <body>
    <s:form id="form" action="AjaxTest">
      <s:file name="myFile" ... />
      <sj:submit value="Submit Form" targets="myAjaxTarget"/>
    </s:form>
    <div id="myAjaxTarget">
    </div>
  </body>
</html>

Upvotes: 9

Related Questions