Подключаемое соединение между multipart = true и показом процента загрузки - PullRequest
2 голосов
/ 01 июля 2011

Кажется, Plupload - отличный инструмент. Но я застрял в простой проблеме здесь. Я установил multipart = false (я не хочу отправлять данные порциями), однако я хочу показать процент загрузки. Но он не показывает% загруженных и показывает только 100% в конце загрузки. Вот мой код.

$(function() {
        var pluploader = new plupload.Uploader({
            runtimes : 'flash', //flash,gears,flash,silverlight,browserplus,html5
            browse_button : 'img_video_upload',
            container : 'video_upload_container',
            max_file_size : '3gb',
            //chunk_size : '100kb',
            multipart : false,
            multiple_queues : false,
            multi_selection: false,
            url : 'url('*/*/videoupload')?>',
            flash_swf_url : '/public/js/plupload/js/plupload.flash.swf',
            filters : [
                {title : "Video file", extensions : "flv"}
            ]
        });

        pluploader.init();

        pluploader.bind('FilesAdded', function(up, files) {
            $('#panelWrapError').remove();
            pluploader.start(); //start file upload
        });

        pluploader.bind('UploadProgress', function(up, file) {
            $('#upload_progress').html('<strong>Progress:</strong> ' + file.name + ' ' + file.percent + '% Uploaded ' + "<br/>");
        });

        pluploader.bind('FileUploaded', function(up, file, ret) {
            var response = eval('(' + ret.response + ')');

            //hide upload progress div
            //$('#upload_progress').hide();

            if(response.success){
                $('#uploadresultwithtime').html('Your video was successfully uploaded. Please view preview.' +
                    '<br/>Video length: ' + response.duration + ' seconds' +
                    '<br/>Video size: ' + response.size + ' kb'
                    );
            }

            if(response.error){
                $('#uploadresultwithtime').html(response.message);
            }
        });

        pluploader.bind('Error', function(up, err) {
            $('#panelWrap').prepend('<ul><li>'
                + err.message
                +'</li></ul>');
        });


    });

1 Ответ

0 голосов
/ 14 мая 2012

Вы установили только «вспышку» в качестве времени выполнения.Plupload не может узнать о ходе загрузки при использовании флеш-среды и без использования чанкованных загрузок.

Вы должны либо не принимать индикацию прогресса, используя флэш-память, и активировать другие среды выполнения (html5, шестерни и т. Д.), Где она будет работать, либо активировать загрузку по частям, которая позволяет флэш-памяти определять, сколько чанков от общего количествачанки, которые он загрузил.

Это означает, что если у вас есть файл размером 1 Мб для загрузки, а для chunk_size установлено значение 100 Кб, то флэш-память сможет показывать 10,20,30 - 100% (шаг на каждомchunk.)

Попробуйте установить следующие параметры в параметрах plupload для оптимальной поддержки.

время выполнения: "gears, flash, silverlight, browserplus, html5", chunk_size: '100kb'

Помните, что ваш сервер должен поддерживать получение фрагментированных загрузок.

...