Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.07.2014, 11:48
Новичок на форуме
Отправить личное сообщение для orangebox Посмотреть профиль Найти все сообщения от orangebox
 
Регистрация: 16.04.2014
Сообщений: 8

Групповая загрузка изображений
Добрый день!

Прикручиваю на сайт загрузку изображений. В интернете нашел такой пример:
<input type="file" id="files" name="files[]" multiple><br>
<output id="list"></output>

<script>
  function handleFileSelect(evt) {
    var files = evt.target.files; // FileList object

    // Loop through the FileList and render image files as thumbnails.
    for (var i = 0, f; f = files[i]; i++) {

      // Only process image files.
      if (!f.type.match('image.*')) {
        continue;
      }

      var reader = new FileReader();

      // Closure to capture the file information.
      reader.onload = (function(theFile) {
        return function(e) {
          // Render thumbnail.
          var span = document.createElement('span');
          span.innerHTML = ['<img class="thumb" src="', e.target.result,
                            '" title="', escape(theFile.name), '"/>'].join('');
          document.getElementById('list').insertBefore(span, null);
        };
      })(f);

      // Read in the image file as a data URL.
      reader.readAsDataURL(f);
    }
  }

  document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>


В принципе он работает, но с небольшим нюансом. Если добавлять изображения порциями, то в тег <output> всё добавляется верно, а в тег <input> попадает только самая последняя порция.

Подскажите, где допилить, чтобы в <input> попадали все изображения?
Ответить с цитированием
  #2 (permalink)  
Старый 25.07.2014, 16:26
Новичок на форуме
Отправить личное сообщение для orangebox Посмотреть профиль Найти все сообщения от orangebox
 
Регистрация: 16.04.2014
Сообщений: 8

Ау, кто-нибудь может мне помочь?

В этом коде я не вижу где заполняется массив files[]. Похоже, он при каждом выборе файлов перезаписывается самим инпутом.

Правильно ли я понимаю, что нужно куда то сохранять значение инпута и каждый раз добавлять к нему новые значения?
Ответить с цитированием
  #3 (permalink)  
Старый 25.07.2014, 16:42
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Можно, например, создать FormData
и как в этой статье http://xdan.ru/Working-with-files-in...he-Basics.html

в последнем разделе описано
в FormData добавлять свои файлы и потом отправить
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Предварительная загрузка изображений для слайдера domius Ваши сайты и скрипты 0 10.06.2014 15:38
динамическая загрузка ковра из изображений Yzgramor Общие вопросы Javascript 1 02.10.2013 14:07
Асинхронная загрузка изображений InTheTT AJAX и COMET 4 22.10.2011 15:51
Прелоадер. Загрузка всех изображений на сайте пред загрузкой. DorianLeroy Общие вопросы Javascript 5 28.07.2011 17:20
Массовая загрузка изображений ybiza AJAX и COMET 3 15.05.2011 23:02