Struts2 Ajax文件上传功能 使用Jquery.form插件,jquery form 教程地址:http://www.malsup.com/jquery/form/#getting-started
Form表单:
- <form id=”uploadTMForm” method=”POST” enctype=”multipart/form-data”>
- <table>
- <tr>
- <td>Upload : <input type=”file” name=”excelFile” id=”uploadTMFile”/></td>
- </tr>
- <tr>
- <td>
- <input type=”submit” value=”Submit” />
- <input type=”button” value=”Cancel” onclick=’$(“#uploadTM”).dialog(“close”)’/>
- </td>
- </tr>
- </table>
- <div id=”upMessage” style=”displan:hidden”></div>
- </form>
JS 脚本
- //upload excel
- var validateForm = function() {
- var fileName = $(“#uploadTMFile”).val();
- fileName = fileName.substring(fileName.lastIndexOf(“.”)+1)
- if(fileName != ”xls” && fileName != ”xlsx”){
- alert(“Formart Error! \rPlease select file by .xls or .xlsx!”);
- return false;
- }
- $(‘#upMessage’).html(‘File Upload … …’);
- return true;
- };
- var showResponse = function(data,status) {
- $(‘#upMessage’).fadeIn(“fast”,function(){
- console.log(data)
- });
- return true;
- };
- var options={
- target : ’#upMessage’,
- url : ’<%=request.getContextPath()%>/teammember/viewUploadTeamMember.action’,
- beforeSubmit: validateForm,
- success : showResponse,
- resetForm:true
- };
- $(‘#uploadTMForm’).ajaxForm(options);
Struts2 拦截
- <interceptor-ref name=”fileUpload”>
- <param name=”allowedTypes”>application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</param>
- <param name=”maximumSize”>1024*1024*5</param>
- </interceptor-ref>