2013-09-23 5 views
0

Я использую jQuery blueimp fileupload и имею другой вывод в firefox/opera в функциях progress и progressall. Chrome работает отлично, выход в console.log() являетсяjQuery blueimp fileupload firefox/opera calculate issue, chrome is ok

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 файл, и он должен давать тот же результат. Проблема также происходит на нескольких файлов он просто показывает странный общий процент .....

ответ

0

Это фиксированная моя проблема (не) имеет смысла вообще, но это работает ... 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); 
+0

Да, это решение не имеет смысла, но оно работает. Любая идея почему? Вы нашли другое разумное решение? – ihtus

+0

Я заметил, что с этим «решением» индикатор выполнения перемещается на 100% быстрее, чем загружается файл ... Попробуйте загрузить большой файл, прогресс будет очень быстрым, а файл все равно будет загружен. Это можно сделать с помощью console.log. Так что это всего лишь косметический «обходной путь», – ihtus

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) или любое эхо вызывает проблему прогресс бар ...

Так что решение будет: нет «эхо» ,

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

Это работает для кого-либо еще?