2012-03-06 118 views
0

我在我的网站上使用Uploadify并尝试集成我自己的更高级的进度栏。我需要定期获取每个文件上传的状态,因此我打算使用Uploadify的onProgress事件。如果我这样做:Uploadify未触发onProgress事件

$('#file-upload').uploadify({ 
    'uploader' : '/assets/flash/uploadify.swf', 
    'script' : '/upload.php', 
    'cancelImg' : '/assets/images/cancel.png', 
    'auto'  : false, 
    'multi'  : true, 
    'queueID' : 'file-queue', 
    'queueSizeLimit':5, 
    'sizeLimit' : 104857600, 
    'onSelect' : function(event, ID, fileObj) { 
     files.push({id:ID, size:fileObj.size}); 
     addFileToQueue(ID, fileObj); 
     return false; 
    }, 
    'onError' : function(event, ID, fileObj, errorObj) { 
     alert("Error: Type: " + errorObj.type + " Message: " + errorObj.info); 
    }, 
    'onProgress': function(event, ID, fileObj, data) { 
     console.log("progress"); 
     updateProgress(data); 
    } 
}); 

问题是,我从来没有progress登录到控制台,也不会在updateProgress功能的任何代码执行过。文件上传确实有效,因为我可以看到上传到上传目录中的文件。我也没有在Javascript控制台中发现任何错误。

这里有什么问题?谢谢。

回答

1

尝试:

'onProgress': function(event, ID, fileObj, data) { 
    console.log("progress"); 
    updateProgress(data); 
    return false; 
} 

从文档:

“的onProgress选项允许你每次进步的文件上传改变火功能的默认功能更新的长度。显示进度条和百分比,如果自定义函数返回false,则默认函数将不会运行。“

+0

不,不起作用。我还注意到,没有其他事件会像'onComplete'或'onError'那样激发,它似乎只是'onSelect'的作用:/ – 2012-03-06 17:34:25

+0

嗯,这很奇怪。你的控制台是否有错误?可能有一个错误导致部分代码失败,但不会影响onSelect。一般情况下,如果脚本的一部分失败了,它会将所有内容都放在后面。我会仔细检查你的语法onError。 – 2012-03-06 19:19:09