Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
3 / 3 / 5
Регистрация: 09.02.2014
Сообщений: 169
1

Полоса загрузки изображения, отобразить прогресс загрузки

21.08.2014, 16:13. Просмотров 2801. Ответов 1
Метки нет (Все метки)

загружаю изображения на сервер с помощью аякса, подскажите как можно узнать(с помощью какой функции) полный объем картинки, и сколько уже загрузилось на сервер, таким способом хочу сделать прогрессбар, кто знает другой способ, пожалуйста подскажите)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2014, 16:13
Ответы с готовыми решениями:

Прогресс бар загрузки файла
$.ajax({ url: 'upload.php', type: 'POST', data: data, processData: false, ...

Статус загрузки изображения
Вообщем есть такой вопрос, возможно ли на Jquery узнать когда загружается картинка, то есть не...

Индикатор загрузки изображения
Кажись я облазил весь сей форум, но безрезультатно... Дело такое: У меня стоит некий скрипт,...

Плагин для загрузки изображения
Здравствуйте. Подскажите пожалуйста хороший плагин для загрузки файлов на сервер. Без флэш, только...

1
Вежливость-главное оружие
230 / 230 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
21.08.2014, 16:51 2
Лучший ответ Сообщение было отмечено SkyNet123 как решение

Решение

Вот, раньше писал:

script.js
Кликните здесь для просмотра всего текста

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
$(document).ready(function () {
 
    var proccessUpload = $('#img_upload');
    var progressBar = $('.bar');
    var dropZone = $('#dropZone'),
        maxFileSize = 209123123; 
 
    $('#upload').click(function () {
        proccessUpload.show();
    });
 
  
    if (typeof (window.FileReader) == 'undefined') {
        dropZone.text('Не поддерживается браузером!');
        dropZone.addClass('error');
    }
 
    
    dropZone[0].ondragover = function () {
        dropZone.addClass('hover');
        return false;
    };
 
 
    dropZone[0].ondragleave = function () {
        dropZone.removeClass('hover');
        return false;
    };
 
   
    dropZone[0].ondrop = function (event) {
        event.preventDefault();
        dropZone.removeClass('hover');
        dropZone.addClass('drop');
 
        var file = event.dataTransfer.files[0];
 
 
        if (file.size > maxFileSize) {
            dropZone.text('Файл слишком большой!');
            dropZone.addClass('error');
            return false;
        }
 
      
        var xhr = new XMLHttpRequest();
        xhr.upload.addEventListener('progress', uploadProgress, false);
        xhr.onreadystatechange = stateChange;
        xhr.open("POST", "/Music/Upload", true);
         
        xhr.setRequestHeader("Content-Type", "multipart/form-data");
        xhr.send(file);
    };
 
 
    function uploadProgress(event) {
        var percent = parseInt(event.loaded / event.total * 100);
        progressBar.css('width', percent + '%');
        dropZone.text('Загрузка: ' + percent + '%');
    }
 
   
    function stateChange(event) {
        if (event.target.readyState == 4) {
            if (event.target.status == 200) {
                dropZone.text('Загрузка успешно завершена!');
                progressBar.css('width', 100 + '%');
            } else {
                dropZone.text('Произошла ошибка!');
                dropZone.addClass('error');
            }
        }
    }
});

style.css
Кликните здесь для просмотра всего текста

CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#img_upload
 {
     display:none;
     height:120px;
     width:120px;
     margin-left: 50px;
     border-radius:200px;
 }
 
 .home-upload-title
 {
    color:#468847;
    font-style:italic;
 }
 .home-upload-size
 {
     font-size: 0.8em;
 }
 
 #dropZone {    
    color: #555;
    font-size: 18px;
    text-align: center;    
    
    width: 90%;
    padding: 50px 0;
    margin-left: 30px;
    
    background: #eee;
    border: 1px solid #ccc;
    
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
 
#dropZone.hover {
    background: #ddd;
    border-color: #aaa;
}
 
#dropZone.error {
    background: #faa;
    border-color: #f00;
}
 
#dropZone.drop {
    background: #afa;
    border-color: #0f0;
}

index.html
Кликните здесь для просмотра всего текста

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>
  <body>
    <div>
      <img id = "img_upload" src="progress.png")" alt=""/>
    </div>
  </body>
</html>

progress.png
Полоса загрузки изображения, отобразить прогресс загрузки

P.S. Я его не собирал, но дрлжно работать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.08.2014, 16:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Отследить процесс загрузки изображения.
Как отследить, что картинка загрузилась при выполнении кода $('#cont_img').attr('src') =...

Плагин для загрузки изображения и его обрезания
Здравствуйте. Необходимо следующее: имеется квадрат размерами 300 на 300 пикселей. При нажатии на...

Отобразить картинку полученную ajax после ее загрузки
Здравствуйте. Получаю ajax-ом код в котором есть немного текста, картинка, и немного js-а которым...

Кнопка загрузки файла и индикатор загрузки в этой же кнопке
Как из двух input &lt;form action=&quot;change_avatar.php&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.