uploadify文件上传插件用法介绍

使用方法:

     首先为其提供显示位置

<div id="fileQueue"></div>  

<input type="file" name="uploadify" id="uploadify" />  

<p>  

<a href="javascript:$('#uploadify').uploadify('upload','*')">上传</a>|   

<a href="javascript:$('#uploadify').uploadify('cancel','*’)">取消上传</a>  

</p>  

然后为其初始化,当然不要忘了把其js文件引进来

    $(document).ready(function(){  

       $("#uploadify").uploadify({  

            'buttonText':'选择文件',            //选择文件按钮显示的文字,默认是'SELECT FILES'  

            'buttonClass' : '',             //选择文件按钮的样式,默认为空  

            'buttonCursor' : 'hand',        //选择文件按钮的鼠标样式,可选'hand'和'arrow',默认为'hand'  

            'buttonImage'   : null,         //选择文件按钮的图标,必须不设置buttonClass才起作用(待验证)  

            'checkExisting' : false,        //指定服务器端的路径,以检查要上传的文件是否已经存在,默认值是false  

            'debug'    : false,             //是否开启DEBUG模式,默认为false  

    'fileObjName' : 'the_files',    //文件属性名,后台可通过MultipartHttpServletRequest.getFile(name)来得到本文件(后台用的spring mvc,不同的后台请用各自的方法,事实上用InputStream流也可以读出来)  

            'fileSizeLimit' : '100MB',      //限制文件大小,默认单位是KB。支持自己写单位,比如200B,300KB,400MB,500GB  

            'fileTypeDesc' :'',             //The description of the selectable files.  This string appears in the browse files dialog box in the file type drop down.  

            'fileTypeExts' : '*.gif; *.jpg; *.png',//允许的上传文件类型,默认情况下文件选择页面不会显示非列表中的其它类型的文件  

            'scriptData':{'parameter':$('#id').val()},//动态传参

            'height':30,  

            'method'   : 'post',            //上传方式,可选'post'和'get',默认是'post'  

            'multi'    : false,             //是否可选择多个文件上传,可选true和false,默认是false  

            'overrideEvents' : [],          //列出的事件,会不再以系统默认的设置起作用.写法为['onUploadProgress','onCancel'],默认为[]  

            'preventCaching':false,         //可选true和false.如果选true,那么在上传时会加入一个随机数来使每次的URL都不同,以防止缓存.但是可能与正常URL产生冲突(待验证)  

            'progressData' : 'speed',       //设置上传队列中显示的方式.speed 速度,percentage 百分比.默认值是percentage  

            'queueID'   : 'fileQueue',      //队列显示在哪个位置的ID,如果设置成false会生成一个随机的ID,默认值是false  

            'queueSizeLimit':999,           //同时可在上传队列中的个数,默认值是999.本参数不能限制总上传的文件个数,如需要请用'uploadLimit'  

            'removeCompleted':false,        //是否从上传列表中移除已经完成的文件,可选true和false  

            'removeTimeout' : 10,           //如果设置成上传完成后移出队列,本参数来设置延迟多长时间(秒)移除.  

            'requeueErrors' : true,         //如果上传出错,是否再次出现在队列中并上传.可选true和false,默认是false  

            'successTimeout': 10,           //文件上传完成后,等待服务器返回信息的时间(秒).超过时间没有返回的话,插件认为返回了成功  

            'swf''${ctx}/js/uploadify-v3.1/uploadify.swf',//swf文件的路径,本文件是插件自带的,不可用其它的代替.本参数不可省略  

            'uploader''fileUpload.do?action=upload',//服务器URL.本参数不可省略  

            'uploadLimit'   : 999,          //限制总上传文件数,默认是999  

            'width' :100,                   //选择文件按钮的宽度,不需要加上'px'字符  

            'auto'false,                  //是否自动上传,可选true和false  

            'onCancel':function(file){      //当取消一个上传队列中的文件时触发,通过再次选择同一个文件而替换掉原来选定的文件时不会触发  

                alert('文件'+file.name+'被取消了');  

            },    

            'onClearQueue':function(queueItemCount){//当'cancel'方法带着*参数时,也就是说一次全部取消的时候触发.queueItemCount是被取消的文件个数  

                alert(queueItemCount+'个文件被取消了');  

            },  

            'onDestroy':function(){         //当destroy方法被调用时触发,没有传过来的参数.如<a href="javascript:$('#file_upload').uploadify('destroy')">Destroy Uploadif</a>  

                alert('I am getting destroyed!');  

            },  

            'onDialogClose':function(queueData){//当选择文件对话框关闭时触发,不论是点的'确定'还是'取消'都会触发.如果本事件被添加进了'overrideEvents'参数中,那么如果在选择文件时产生了错误,不会有错误提示框弹出  

                //queueData.filesSelected   在浏览文件时选中的文件个数  

                //queueData.filesQueued     被加入上传队列中的文件个数(本方法不会产生任何错误)  

                //queueData.filesReplaced   已有队列中,被替换的文件个数  

                //queueData.filesCancelled  The number of files that were cancelled from being added to the queue 凑和看吧  

                //queueData.filesErrored    返回错误的文件个数  

            },    

            'onDialogOpen':function(){//当选择文件框被打开时触发,没有传过来的参数.<div id="message_box"></div>  

                $('#message_box').html('The file dialog box was opened...');  

            },  

            'onDisable':function(){//当'desable'方法被调用时触发,没有传过来的参数.<a href="javascript:$('#file_upload').uploadify('disable', true);">Disable Uploadify</a>  

                alert('You have disabled Uploadify!');  

            },  

            'onEnable':function(){//当'desable'方法被调用时触发,没有传过来的参数.<a href="javascript:$('#file_upload').uploadify('disable', false);">Enable Uploadify</a>  

                alert('You have enabled Uploadify!');  

            },  

            'onFallback':function(){//Triggered during initialization if a compatible version of Flash is not detected in the browser.  

                alert('Flash was not detected.');  

            },  

            'onInit'   : function(instance) {//当uploadify被第一次调用时,在最后调用完成时触发  

             //$("#uploadify").uploadify("settings", "width", 100); 不知道为什么本方法会报错  

       $("#uploadify").uploadify("settings""buttonText""测试settings方法");  

                alert('The queue ID is ' + instance.settings.queueID);  

            },  

            'onQueueComplete':function(queueData){//当队列中的所有文件上传完成时触发,目前不清楚再添加文件完成时还会不会触发  

                //queueData.uploadsSuccessful   上传成功的文件个数  

                //queueData.uploadsErrored      返回错误的文件个数  

            },  

            'onSelect'function(file){//当文件从浏览框被添加到队列中时触发  

               alert('The file ' + file.name + ' was added to the queue.');  

            },  

            'onSelectError' : function(file,errorCode,errorMsg) {  

                //errorCode QUEUE_LIMIT_EXCEEDED  队列已满(已达到限制数,不允许再添加)  

                //errorCode FILE_EXCEEDS_SIZE_LIMIT  文件大小超过了设置的最大值  

                //errorCode ZERO_BYTE_FILE  文件没有长度  

                //errorCode INVALID_FILETYPE  所选文件类型不符合限制的类型  

                //errorMsg  *You can access a full error message using ‘this.queueData.errorMsg’ if you do not override the default event handler.  

                alert('The file ' + file.name + ' returned an error and was not added to the queue.');  

            },  

            'onSWFReady' : function() {//当flash对象准备好的时候触发,没有传过来的参数  

                alert('The Flash file is ready to go.');  

            },  

            'onUploadComplete' : function(file) {//当一个文件上传完成时触发,不论是成功还是失败都会触发  

                alert('The file ' + file.name + ' finished processing.');  

            },  

            'onUploadError' : function(file, errorCode, errorMsg, errorString) {//当文件上传完成但是返回错误时触发  

                alert('The file ' + file.name + ' could not be uploaded: ' + errorString);  

            },  

            'onUploadSuccess' : function(file, data, response) {//每个上传完成并成功的文件都会触发本事件  

                //data The data that was returned by the server-side script (anything that was echoed by the file)  

                //response The response returned by the server—true on success or false if no response.  If false is returned, after the successTimeout option expires, a response of true is assumed.  

                alert('The file ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data);  

            },  

            'onUploadProgress' : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {//Triggered each time the progress of a file upload is updated.  

                //bytesUploaded The number of bytes of the file that have been uploaded  

                //bytesTotal The total number of bytes of the file  

                //totalBytesUploaded The total number of bytes uploaded in the current upload operation (all files)  

                //totalBytesTotal The total number of bytes to be uploaded (all files)  

                $('#progress').html(totalBytesUploaded + ' bytes uploaded of ' + totalBytesTotal + ' bytes.');//<div id="progress"></div>  

            },  

            'onUploadStart' : function(file) {//在文件被上传前触发  

                $("#uploadify").uploadify("settings""formData", {'someKey':'3333','kkk':'llll'});  

                alert('开始上传 ' + file.name);  

            }  

            /** 

                以下是可触发事件的方法 

                'cancel':  从队列中取消一个文件或者一个正在进行中的文件(不知道怎么翻译,Cancel a file from the queue or a file that is in progress.) 

                    fileID 想要取消的文件ID.检索ID的最简单的方法是使用ID 属性( id attribute of the file queue item),但是怎么用不清楚.如果用'*'会取消队列中所有的文件,如果不指定ID,那么会取消第一个 

                    suppressEvent 如果设置成true,那么onUploadCancel事件会被忽略.本方法经常被用来清空队列 

                    例: 

                    <a href="javascript:$('#file_upload').uploadify('cancel')">Cancel First File</a> 

                    <a href="javascript:$('#file_upload').uploadify('cancel', '*')">Clear the Queue</a>                  

                'destroy':  销毁uploadify实例并返回到原始的状态 

                    无参数 

                    例: 

                    <a href="javascript:$('#file_upload').uploadify('destroy')">Destroy Uploadify</a>

                'disable': 启用或者禁用'选择文件'按钮 

                    setDisabled 想要禁用按钮请设置成true,相反设置成false 

                    例: 

                    <a href="javascript:$('#file_upload').uploadify('disable', true)">Disable the Button</a>  

                    <a href="javascript:$('#file_upload').uploadify('disable', false)">Enable the Button</a>                  

                'settings': 返回或修改一个 uploadify实例的settings值 

                    name  想要改变或设置的值的名称,如果只写'name',会返回与name对应的值 

                    value 与name对应的值 

                    resetObjects 如果设置成true,在更新postData对象时会替换掉原来的值,设置成false,会在原来值的基础上添加新的值. 

                    注意:  'swf' 属性不可被替换 

                'stop': 停止当前的上传并添加到队列中去 

                    无参数 

                    例: 

                    <a href="javascript:$('#file_upload').uploadify('upload', '*')">Upload the Files</a>  

                    <a href="javascript:$('#file_upload').uploadify('stop')">Stop the Uploads!</a> 

            'upload': 上传指定的文件或者所有队列中的文件 

                fileID 想要上传的文件ID.检索ID的最简单的方法是使用ID 属性( id attribute of the file queue item),但是怎么用不清楚.如果输入'*',所有队列中的文件都会被上传 

                    例: 

                    <a href="javascript:$('#file_upload').uploadify('upload','*')">Upload Files</a> 

            **/  

      });  

    });  

在其默认css样式中

.uploadify-queue-item .cancel a {  

    background: url('/xticfc/js/uploadify-v3.1/uploadify-cancel.png') 0 0 no-repeat;  

    float: right;  

    height: 16px;  

    text-indent: -9999px;  

    width: 16px;  


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SSM(Spring + SpringMVC + MyBatis)框架中使用Uploadify文件上传,首先需要在前端页面引入Uploadify插件,并编写相应的HTML和JavaScript代码来实现文件上传功能。在SpringMVC中需要编写文件上传的Controller来处理上传的文件,并在Controller中使用MultipartFile对象来接收文件数据,然后将文件保存到服务器的指定目录中。同时,还需要在Spring的配置文件中配置文件上传相关的Bean和参数,以确保正常的文件上传功能。 在处理文件上传的Controller中,可以使用MultipartFile对象的方法来获取文件的原始名称、大小、类型等信息,并对文件进行合法性校验,例如限制文件类型、大小等。接着将文件保存到服务器的指定目录中,可以使用File的相关API来实现文件的保存和写入操作。 在MyBatis中,若需要将文件信息保存到数据库中,需要创建相应的实体类来映射文件的信息,并编写相应的Mapper接口和SQL语句来实现文件信息的插入、查询等操作。 综上所述,使用Uploadify文件上传需要在前端引入插件并编写相应的HTML、JavaScript代码;在SpringMVC中编写文件上传的Controller来处理文件上传,并在Spring的配置文件中配置文件上传相关的Bean和参数;在MyBatis中编写相应的实体类、Mapper接口和SQL语句来实现文件信息的插入、查询等操作。通过以上步骤,就可以在SSM框架中成功实现Uploadify文件上传的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值