jquery.MultiFile实现的多文件上传,只把待上传的文件名以列表展示在客户端并不上传的方法

jquery.MultiFile实现的多文件上传,只把待上传的文件名以列表展示在客户端并不上传的方法

       在做多文件上传时一直希望可以在客户端对待上传的文件进行控制,比如不可上传重复文件,可以对待上传的文件进行个数控制,文件类型控制,添加多个待上传文件之后以列表形式显示在客户端此时并没有直接保存在服务器等功能,为了实现这个功能在网上查找了一些控件,最后经同事推荐了jquery.MultiFile,然后就对该控件进行了详细研究   

 

下面直接上代码。

       首先要下载该控件(网上很多此处不再加链接),控件签入之后,引入下面这几个JS文件和CSS文件

 <script src="../../Resources/multiple-file-upload/jquery.js" type="text/javascript"></script>
    <script src="../../Resources/multiple-file-upload/documentation/documentation.js"
        type="text/javascript"></script>
    <link href="../../Resources/multiple-file-upload/documentation/documentation.css"
        rel="stylesheet" type="text/css" />
    <script src="../../Resources/multiple-file-upload/jquery.form.js" type="text/javascript"></script>
    <script src="../../Resources/multiple-file-upload/jquery.MetaData.js" type="text/javascript"></script>
    <script src="../../Resources/multiple-file-upload/jquery.MultiFile.js" type="text/javascript"></script>
$(function(){
 //修改上传文件时把已上传的文件以列表形式展示
            if ($("#filePath").val() != "") {
                var ele = $("#filePath").val().split(',');
                for (var i = 0; i < ele.length; i++) {
                    //列表前加删除功能,传过去要删除的文件路径,显示到列表上的是文件的文件名
                    if (ele[i] != "") {
                        if ($("#CommandType").val() == "look") {
                            $('#file-Log').append('<li style="list-style-type:none" >' + ele[i].substr(ele[i].lastIndexOf("\\") + 1) + '<a href="javascript:void(0)" οnclick="loadFile(this)"  name="lihre" value="' + ele[i] + '">  下载</a></li>')
                        }
                        else
                        {
                            $('#file-Log').append('<li style="list-style-type:none" ><a href="#" οnclick="delFile(this)"  name="lihre" value="' + ele[i] + '"> x </a>' + ele[i].substr(ele[i].lastIndexOf("\\") + 1) + '</li>')
                        }
                    }
                }
 //上传文件操作
            $("#fileUpload").MultiFile({
                list: '#file-Log', //将文件列表展示在指定的ul中
                afterFileSelect: function (element, value, master_element) {
                    if ($("#filePath").val() != "") {
                        $("#filePath").val($("#filePath").val() + "," + value);
                    }
                    else {
                        $("#filePath").val(value);
                    }
                },
                afterFileRemove: function (element, value, master_element) {
                    var val = $("#filePath").val().replace(value, '');
                    $("#filePath").val(val);
                }
            })

})

 //删除已经上传的文件data是上传的文件路径
        function delFile(data) {
            //查询到filePath中与要删除的文件一样的路径
            var val = $("#filePath").val().replace(data.value, '');
            $("#filePath").val(val);
            //删除父节点中的li
            $(data.parentNode).remove();
        }
        //下载文件
        function loadFile(data) {
            var path = escape(data.value);
            location.href = "AjaxHander.aspx?path="+path;
        }

html代码很简单只需要一个file控件就行,指定class就可以了

 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值