FineUploader Progressbar问题

时间:2013-09-03 20:44:15

标签: progress-bar fine-uploader

我对在v3.8中使用progress事件感到有点困惑(使用jQuery包装器)我理解只有某些支持ProgressEvent接口的浏览器,所以我在Firefox v20.0.1中测试它

使用其他代码,我添加了这个:

.on('progress', function (id, filename, uploadedBytes, totalBytes)     
   {                             
        alert('uploadedBytes: ' + uploadedBytes + '\n totalBytes: ' + totalBytes);  
        if (uploadedBytes < totalBytes) {
            progress = '"' + fileName + '" uploading...  ' + Math.round(uploadedBytes / totalBytes*100) +'%';                                                              
                $('#qq-progress-bar').html(progress);
        }
        else {
                $('#qq-progress-bar').html('saving');
        }
   })

请查看上面此事件中的ALERT功能。如果方法的输入参数是正确的,我不应该在'uploadedBytes'参数中看到上传文件的名称。 totalBytes参数似乎是正确的。警报显示如下:

enter image description here

我可以在某些浏览器中看到进度条,例如FireFox v20.0.1,但条形图没有进展。此外,上传金额的%值并没有真正做多少。我会看到一个值,然后它就会完整。

要显示所有这些,我正在更改文件模板中指定的'qq-progress-bar'。我是冒这个错误还是让这比我需要的更复杂?我只需要显示进度,不需要文本值,但肯定很好。例子?想法?

谢谢!

1 个答案:

答案 0 :(得分:4)

您的方法签名不正确,在使用jQuery插件时需要包含event参数:

.on('progress', function (event, id, filename, uploadedBytes, totalBytes) {
  alert('uploadedBytes: ' + uploadedBytes + '\n totalBytes: ' + totalBytes);
  if (uploadedBytes < totalBytes) {
    progress = '"' + fileName + '" uploading...  ' + Math.round(uploadedBytes /
      totalBytes * 100) + '%';
    $('#qq-progress-bar').html(progress);
  }
  else {
    $('#qq-progress-bar').html('saving');
  }
})

更多信息位于the documentation on using jQuery with Fine Uploader.