За последние 24 часа нас посетили 17515 программистов и 1673 робота. Сейчас ищут 1809 программистов ...

Не определяет фото в input

Тема в разделе "JavaScript и AJAX", создана пользователем hust0, 9 сен 2017.

  1. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Нашел код в интернете

    Код (Javascript):
    1. var listen = function(element, event, fn) {
    2.                 return element.addEventListener(event, fn, false);
    3.             };
    4.  
    5.             listen(document, 'DOMContentLoaded', function() {
    6.  
    7.                 var fileInput = document.querySelector('#file-input');
    8.                 var listView = document.querySelector('#list-view');
    9.  
    10.                 var queue = [];
    11.                 var isProcessing = false;
    12.  
    13.                 listen(fileInput, 'change', function(event) {
    14.                     var files = fileInput.files;
    15.                     if (files.lenght == 0) {
    16.                         return;
    17.                     }
    18.                     for(var i = 0; i < files.length; i++) {
    19.                         queue.push(files[i]);
    20.                     }
    21.                     fileInput.value = "";
    22.                     processQueue();
    23.                 });
    24.  
    25.                 var processQueue = function() {
    26.                     if (isProcessing) {
    27.                         return;
    28.                     }
    29.                     if (queue.length == 0) {
    30.                         isProcessing = false;
    31.                         return;
    32.                     }
    33.                     isProcessing = true;
    34.                     file = queue.pop();
    35.                     var li = document.createElement('LI');
    36.                     var canvas = document.createElement('CANVAS');
    37.                     var ctx = canvas.getContext('2d');
    38.                     var image = new Image();
    39.                     listView.appendChild(li);
    40.                     image.onload = function() {
    41.                         var newWidth = 100;
    42.                         var newHeight = image.height * (newWidth / image.width);
    43.                         ctx.drawImage(image, 0, 0, newWidth, newHeight);
    44.                         URL.revokeObjectURL(image.src);
    45.                         li.appendChild(canvas);
    46.                         isProcessing = false;
    47.                         processQueue();
    48.                     };
    49.                     image.src = URL.createObjectURL(file);
    50.                 };
    51.             });
    HTML:
    1. <form action="">
    2.             <input type="file" id="file-input" multiple="multiple" accept="image/jpeg" />
    3.         </form>
    4.         <hr/>
    5.         <ul id="list-view"></ul>
    Но когда выбираю несколько фото то в input не пишет что выбрано, пишет "Файл не выбран". Как можно поправить?
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Ваш код абсолютно рабочий. Смотрите в консоли, возможно есть ошибки.
     
    hust0 нравится это.
  3. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    спасибо)