覆盖Uploadify方法

时间:2012-05-13 22:24:19

标签: jquery uploadify

我正在使用Uploadify jQuery插件进行文件上传。我想要一个自定义函数来处理进入上传队列的文件。我在我的代码中完成了这个:

$(document).ready(function() {
    $('#file-select').uploadify( {
        'swf'      : '/bitstore/public/swf/uploadify.swf',
        'uploader' : 'uploadify.php',
        'queueID'  : 'file-queue',
        'onSelect' : function(file) {
            alert("file added");
            return false;
        }
    });
});

但是Uploadify仍然将HTML注入到DOM中以表示队列中的文件。我希望我的自定义函数能够自己完成。有没有办法阻止Uploadify这样做?我认为在方法中添加return false;就可以了,但它不起作用。

感谢。

3 个答案:

答案 0 :(得分:0)

似乎最新版本的Uploadify已禁用覆盖onSelect方法(请参阅onSelect - Uploadify)。然后,您的选项是隐藏Uploadify显示文件名的元素,您可以进入源代码(当然使用未缩小版本)并查看您可以更改的内容。作为最后的手段,您可以尝试使用较旧版本的Uploadify。不幸的是,我似乎无法找到任何链接。

答案 1 :(得分:0)

得到了答案。新版本的Uploadify已更改,因此您必须设置要覆盖的事件作为选项:

http://www.uploadify.com/documentation/uploadify/overrideevents/

答案 2 :(得分:0)

您是否尝试添加以下内容?(未经测试):

'onSelect': function(e, q, f) {
        var validExtensions = new Array('doc','docx','pdf');            
        var fileName = f.name;
        var fileNameExt = fileName.substr(fileName.lastIndexOf('.') + 1);
        if (jquery.inArray(fileNameExt, validExtensions) == -1){
            $(\"#uploadify\").uploadifyCancel(q);
            //$(\"#uploadify\" + q + \" .percentage\").text(\" - Invalid file type\");
            //$(\"#uploadify\" + q).addClass('uploadifyError');               
            return false;
        }