LINUX.ORG.RU

Загрузка фалов в галерею

 ,


0

1

Есть галерея. есть в ней загрузка фотографий (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);
    });
Попытался вот так сделать, но почемуто первый запрос на прогресс, возращает ошибку о том, что нет $_SESSION[«upload_progress_123»], а потом все ОК.

за такое и за 100 уе браться не хочется, но за 199 так и быть, помогу, платишь7

anonymous
()
Ответ на: комментарий от dubrovin_ak

модеры трут мои ответы тебе, но ты понимаешь, да?

anonymous
()

удивляют люди, которые хотят, чтобы их программу отдебажили другие люди за спасибо

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.