Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2014, 15:05   #1
ogamilait
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 60
По умолчанию Помочь с draf&drop скриптом для загрузки фото

Когда перетащил повторно картинку то добавляетьса еще один прогрес бар и так дале... Как сделать когда мы загружаем картинку повторнно что б прогрес бар заменялся.
И еще вопрос оно автоматом снизу добавляет блок прогрес бар
Код:
obj.after(this.statusbar);
, как присвоить например уже существующему div c id
Перетащили на поле фото и после этого вызиваем:
Код:
function handleFileUpload(files, obj) {
        
            for (var i = 0; i < files.length; i++) {
                var fd = new FormData();
                fd.append('fileInput', files[i]);

                var status = new createStatusbar(obj); //Using this we can set progress.
                
                sendFileToServer(fd, status);
            
        }
}
Отправка:
Код:
function sendFileToServer(formData, status) {
        var extraData = {}; //Extra Data.
        var jqXHR = $.ajax({
            xhr: function () {
                var xhrobj = $.ajaxSettings.xhr();
                if (xhrobj.upload) {
                    xhrobj.upload.addEventListener('progress', function (event) {
                        var percent = 0;
                        var position = event.loaded || event.position;
                        var total = event.total;
                        if (event.lengthComputable) {
                            percent = Math.ceil(position / total * 100);
                        }
                        //Set progress
                        status.setProgress(percent);
                    }, false);
                }
                return xhrobj;
            },
            url: "/User/AddImage",
            type: "POST",
            contentType: false,
            processData: false,
            cache: false,
            data: formData,
            success: function (data) {
                status.setProgress(100);
            }
        });

        status.setAbort(jqXHR);
    }
Метод для статсуа.
Код:
    function createStatusbar(obj) {
        this.statusbar = $("<div class='statusbar'></div>");
        this.progressBar = $("<div class='progressBar'><div></div></div>").appendTo(this.statusbar);
        this.abort = $("<div class='abort'>Abort</div>").appendTo(this.statusbar);
        obj.after(this.statusbar);

        this.setProgress = function (progress) {
            var progressBarWidth = progress * this.progressBar.width() / 100;
            this.progressBar.find('div').animate({ width: progressBarWidth }, 10).html(progress + "% ");
            if (parseInt(progress) >= 100) {
                this.abort.hide();
            }
        }
        this.setAbort = function (jqxhr) {
            var sb = this.statusbar;
            this.abort.click(function () {
                jqxhr.abort();
                sb.hide();
            });
        }
    }

Последний раз редактировалось ogamilait; 12.12.2014 в 15:45.
ogamilait вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinForms PictureBox VC++ Drag&Drop _Alerter_ Windows Forms 4 27.05.2011 10:38
drag&drop БАО Общие вопросы C/C++ 2 06.05.2010 12:17
Drag&Drop для ListView archzayats Компоненты Delphi 2 20.02.2009 22:49
Неверная сортировка фото php-скриптом Nikolai* Помощь студентам 2 15.11.2008 08:56
Drag&Drop shtuceron Общие вопросы Delphi 3 09.04.2008 19:04