【问题标题】:jQuery blueimp fileupload firefox/opera calculations issue, chrome is okjQuery blueimp fileupload firefox/opera 计算问题,chrome 没问题
【发布时间】:2013-09-23 20:20:16
【问题描述】:

我正在使用 jQuery blueimp 文件上传,并且在函数 progressprogressall 中的 firefox/opera 中有不同的输出。 Chrome 工作正常,console.log() 中的输出是

100
100 

FF/Opera 中的输出是:

100
95

输出正确的值:

progress: function(e, data) {
  var value;
  value = Math.round((data.loaded / data.total) * 100) || 0;

  console.log(value);
},

输出奇怪的值:

progressall: function(e, data) {
  var value;
  value = Math.round((data.loaded / data.total) * 100) || 0;

  console.log(value);
},

顺便说一句。这是在 1 个文件上测试的,它应该给出相同的输出。该问题也出现在多个文件上,它只是显示奇怪的总体百分比.....

【问题讨论】:

标签: jquery jquery-file-upload blueimp


【解决方案1】:

这解决了我的问题(它没有)根本没有意义,但它有效...... duhh改变这个:

loaded = parseInt(
      e.loaded / e.total * (data.chunkSize || total),
      10
) + (data.uploadedBytes || 0);

loaded = parseInt(
       e.loaded / e.loaded * (data.chunkSize || total),
       10
) + (data.uploadedBytes || 0);

【讨论】:

  • 是的,这个解决方案没有意义,但它确实有效。知道为什么吗?你有没有找到其他合理的解决方案?
  • 我注意到,通过这个“解决方案”,进度条移动到比上传文件快 100%...尝试上传大文件,进度会非常快,而文件还在上传。您可以使用console.log 做到这一点。所以这只是一个表面上的“解决方法”
【解决方案2】:

遇到同样的问题,找到原因了。

这里是jquery_file_upload\server\php\index.php:的内容

error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler();

使用此服务器端上传脚本 -> 进度条没有问题,已达到 100%。

以下代码出现问题:

error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler();
$var="111";
print_r($var);

print_r($var) 或任何回显导致进度条问题...

所以解决方案是:没有“回声”。

error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler();
return;

这对其他人有用吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    相关资源
    最近更新 更多