使用jQuery ocupload插件实现一键上传

来源:互联网 发布:vb延时函数 编辑:程序博客网 时间:2024/05/21 06:11

使用jQuery ocupload插件实现一键上传

在我前面的博客中写了文件的上传,其实那种方法比较的麻烦,它里面需要注意的事项为:
1、必须同步提交form表单
2、Form表单编码方式 multipart/form-data
3、提交方式必须为post
4、上传的文件对应 input type="file"元素要提供name属性。

使用jQuery ocupload是对它的一个封装,不用这么的麻烦,还提供了(异步提交)提交不会跳转的效果。
要导入jquery.ocupload-xxx.js
下面我将举一个使用的小例子
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.ocupload-1.1.2.js"></script><title>Insert title here</title><script type="text/javascript">$(function () {   //页面加载完成后    $("#upload").upload({  //调用ocupload插件        action: '../../xxxxxxx.action',  //提交路径        name: 'xls',  //提交的键  <input type="file" name="xls" />        params: {   //提交的参数,把控风险,防止上传多个相同文件时出错            'rand': Math.random()          },          onSelect: function (self, element) {  //当选择好文件后触发 => 检查文件是否合法            this.autoSubmit = false;              var re = new RegExp("(xml){1}quot;, "i");              if (!re.test(this.filename())) {                  alert("Only xml file can be uploaded");              }              else {                  this.submit();              }          },         onSubmit: function (self, element) {  //提交时触发            $('#upload').hide();              $('#ajax_update').parent().show();              //alert('Uploading file...');          },          onComplete: function (data, self, element) { //提交完成后触发               $('#ajax_update').parent().hide();                $('#upload').show();                self.resetInput();                try {                    var ret = data;                    if (ret.indexOf("exception") >= 0) {                        alert('Upload file exception: ' + eval(data)[0].exception);                    }                    else {                        showSuccess('File is successfully Load.');                        uploadSuccess(ret);                    }                } catch (err) {                    alert(data);                }            }        });    });  </script></head><body><input type="button" id="upload" value="上传文件"/></body></html>
传到后台用一个File类型的变量名为xls去接收,就可以得到上传的文件。

原创粉丝点击