0

根据文档, Uploadify 和 totalBytesUploaded 以这种方式工作:

“当前上传操作中上传的总字节数(所有文件)”

我刚刚发现 totalBytesUploaded 永远不会清除。每次我上传一些文件时,它都会从上次停止的地方继续。这使得它在计算百分比时毫无用处。

示例:假设我上传了 4 个文件,当所有 4 个文件都上传时,字节数停止在 55675964 字节。然后我上传另一个文件,字节数从 55675964 持续到 68502886 字节。我上传的每个文件都在变大。这是正确的还是我在这里遗漏了什么?

4

1 回答 1

0

刚刚遇到同样的问题,我认为解决了。至少它符合我目前的需求。只需将uploadify-code 包装在一个函数中即可。调用函数进行初始化,并添加一个 onQueueComplete 并调用该函数。因此,uploadify 被重新初始化并且 totalBytesUploaded 被重置。

<script type="text/javascript">
    var p = 0;
    function initUploadify() {
        $('#progress').width('0%');
        $(function() {
            $('#file_upload').uploadify({
               'swf'      : 'js/uploadify/uploadify.swf',
               'uploader' : 'js/uploadify/uploadify.php',
               'buttonText' : 'Select files',
               'width'    : 90,
               'multi'      : true,
               'queueID'  : 'q',
               'onUploadProgress' : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {
                    p = Math.round(( totalBytesUploaded / totalBytesTotal) * 100);
                    $('#progress').width(p+'%');
               },
               'onQueueComplete' : function(queueData) {
                    initUploadify();
               }
           }
           });
        });
    }

    initUploadify();

</script>
于 2013-11-05T11:35:54.247 回答