JQuery插件AjaxFileUpload例子

AjaxFileUpload.js下载地址:  http://www.phpletter.com/Our-Projects/AjaxFileUpload/  
Jquery.js下载地址:  http://jquery.com/  


页面代码: 

Java代码   收藏代码
  1. <html>  
  2.     <!-- 引入相关的js文件,相对路径  -->  
  3.     <script type="text/javascript" src="js/jquery.js"></script>  
  4.       <script type="text/javascript" src="js/ajaxfileupload.js"></script>  
  5.   
  6.     <!-- 执行上传文件操作的函数 -->  
  7.       <script type="text/javascript">  
  8.           function ajaxFileUpload(){  
  9.                $.ajaxFileUpload(  
  10.                    {  
  11.                 url:'update.do?method=uploader',            //需要链接到服务器地址  
  12.                 secureuri:false,  
  13.                 fileElementId:'houseMaps',                        //文件选择框的id属性  
  14.                 dataType: 'xml',                                     //服务器返回的格式,可以是json  
  15.                 success: function (data, status)            //相当于java中try语句块的用法  
  16.                 {       
  17.                     $('#result').html('添加成功');  
  18.                 },  
  19.                 error: function (data, status, e)            //相当于java中catch语句块的用法  
  20.                 {  
  21.                     $('#result').html('添加失败');  
  22.                 }  
  23.             }  
  24.                     
  25.                );  
  26.                
  27.           }  
  28.       </script>  
  29.   </head>  
  30.    
  31.   <body>  
  32.       <form method="post" action="update.do?method=uploader" enctype="multipart/form-data">   
  33.         <input type="file" id="houseMaps" name="houseMaps"/>  
  34.         <input type="button" value="提交" οnclick="ajaxFileUpload()"/>  
  35.     </form>  
  36.     <div id="result"></div>  
  37.      
  38.   </body>  
  39. </html>  


服务器代码: 

Java代码   收藏代码
  1. public class UpdateAction extends DispatchAction {  
  2.   
  3.     public ActionForward uploader(ActionMapping mapping, ActionForm form,  
  4.             HttpServletRequest request, HttpServletResponse response) {  
  5.         UpFormForm upFormForm = (UpFormForm) form;  
  6.         FormFile ff = upFormForm.getHouseMaps();  
  7.         try {  
  8.             InputStream is = ff.getInputStream();  
  9.             File file = new File("D:/" + ff.getFileName());            //指定文件存储的路径和文件名  
  10.             OutputStream os = new FileOutputStream(file);  
  11.              
  12.             byte[] b = new byte[1024];  
  13.             int len = 0;  
  14.             while((len = is.read(b)) != -1){  
  15.                 os.write(b, 0, len);  
  16.             }  
  17.             os.close();  
  18.             is.close();  
  19.         } catch (Exception e) {  
  20.             e.printStackTrace();  
  21.              
  22.         }  
  23.          
  24.         return null;  
  25.     }  
  26. }  



主要参数说明: 
1,url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接访问,如上:upload.php 
2,fileElementId表示文件域ID,如上:fileToUpload 
3,secureuri是否启用安全提交,默认为false 
4,dataType数据数据,一般选json,javascript的原生态 
5,success提交成功后处理函数 
6,error提交失败处理函数 

上面有两个方法,一个动态加载小图标提示函数loading()和ajaxFileUpload文件上传$.ajaxFileUpload()函数,这与我们使用jQuery.ajax()函数差不多,使用很简单,这里我省略了PHP处理上传文件,使用 jQuery插件AjaxFileUpload实现ajax文件就这么简单。 

同时我们需要了解相关的错误提示 

1,SyntaxError: missing ; before statement错误 
如果出现这个错误就需要检查url路径是否可以访问 

2,SyntaxError: syntax error错误 
如果出现这个错误就需要检查处理提交操作的PHP文件是否存在语法错误 

3,SyntaxError: invalid property id错误 
如果出现这个错误就需要检查属性ID是否存在 

4,SyntaxError: missing } in XML expression错误 
如果出现这个错误就需要检查文件域名称是否一致或不存在 

5,其它自定义错误 
大家可使用变量$error直接打印的方法检查各参数是否正确,比起上面这些无效的错误提示还是方便很多。 

使用jQuery插件AjaxFileUpload实现无刷新上传文件非常实用,由于其简单易用,因些这个插件相比其它文件上传插件使用人数最多,非常值得推荐。 

引用: 
http://blog.csdn.net/hadesgin/article/details/7593124 
http://www.cnblogs.com/pcajax/archive/2009/12/16/1663329.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值