我正在使用jQuery blueimp fileupload并在函数progress
和progressall
中使用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个文件上测试的,它应该给出相同的输出。问题也发生在多个文件上它只显示奇怪的整体百分比.....
这解决了我的问题(它没有)有意义,但它的工作原理......呃改变这个:
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);
有同样的问题,找到了原因。
这是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)或任何echo都会导致进度条问题...
所以解决方案是:没有“回声”。
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler();
return;
这对其他人有用吗?