Есть галерея. есть в ней загрузка фотографий (php,jqury). Загрузчик работает так, получаем кол-во фалов в поле, потом через ajax и formdata, отправляем по одному файлу, как пришел ответ о завершении, отправляем следующий. Как все файлы отправлены, отправляем по одному запросу через ajax на обработку этого файла. Все хорошо работает. Но тут захотелось еще загружать видео, так вот, нужен progress bar чтобы видеть как загружается. и чет порыскал и не могу ни как сделать...
function f_p(id,ff) {
$.ajax({
url: "upload.php?page=progress",
type: "POST",
dataType: "json",
cache: false,
data: {PHP_SESSION_UPLOAD_PROGRESS:123},
error: function (textStatus,errorThrown) {
},
success: function (data) {
if(ff) {
if (!data.done) {
$('#bar').attr('max', data.star);
$('#bar').attr('value', data.prog);
$("#stat_1").html(data.star);
setTimeout(f_p(id, 1), 1000);
}
else
{
$('#bar').attr('value', data.star);
}
$("#stat_2").html(data.prog);
$("#stat_3").html(data.filess);
}
else
{
setTimeout(f_p(id, 1), 500);
}
}
});
}
$('#submit').click(function () {
var trt ='';
timid = $('#session_id').val();
datef = new FormData($('#upload_form')[0]);
datef.set('PHP_SESSION_UPLOAD_PROGRESS','123');
ner = $('#file')[0].files;
f_file = ner.length;
for (var i=0; i < f_file; i++)
{
//list = list + "<img id='img"+i+"' class='img_upload' style='display: none' src='img/upload_img.png' width='210' height='210'>"+ner[i].size;
trt = trt + "<div id='fi"+i+"'><b>"+ner[i].name+"</b><div id='pr"+i+"'>"+ner[i].size+" / <span id='fs"+i+"'>0</span></div><div id='size"+i+"'></div><div id='status"+i+"'></div><div id='status_2"+i+"'></div><br></div>";
size_files = size_files + ner[i].size;
//fert[i][0] = ner[i].size;
fert[i] = 0;
datef.append(i, ner[i]);
}
$.ajax({
url: "upload.php?page=upload",
type: "POST",
dataType: "html",
cache: false,
contentType: false,
processData: false,
data: datef, //указываем что отправляем
error: function (jqXHR,textStatus,errorThrown) {
},
beforeSend: function() {
},
success: function (data) {
}
});
f_p(123,0);
$("#file_list").html(trt);
$('#u_progress').html(size_files);
$('#bar').attr('max', size_files);
});