2013-02-09 3 views
0

Я хочу иметь форму с несколькими частями.Как создать загрузчик изображений с предварительным просмотром

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

Вторая часть имеет различные поля текстовой формы.

У меня есть вторая часть, построенная отлично и работает, используя PHP и MySQL, и загрузка изображений тоже работает. Но я не знаю, как показать предварительный просмотр изображений перед отправкой формы.

EDIT:

используя код формы ответа:

 <input type='file' onchange="readURL(this);" /> 
    <img id="blah" src="#" alt="your image" /> 

с:

function readURL(input) { 
     if (input.files && input.files[0]) { 
      var reader = new FileReader(); 

      reader.onload = function (e) { 
       $('#blah') 
        .attr('src', e.target.result) 
        .width(150) 
        .height(200); 
      }; 

      reader.readAsDataURL(input.files[0]); 
     } 
    } 

отлично работает, но он показывает только 1 миниатюру. Я хочу создать миниатюру изображения динамически для каждого файла.

Пытаюсь:

function readURL(input) { 
     if (input.files && input.files[0]) { 
      var reader = new FileReader(); 

      reader.onload = function (e) { 
      var container = $('#previews'); 
      var image = $('<img>').attr('src', e.target.result).width(150); 
      image.appendTo(container); 
      }; 

      reader.readAsDataURL(input.files[0]); 
     } 
    } 

с:

<input type='file' name="files[]" onchange="readURL(this);" multiple /> 
    <div id="previews"></div> 

, который работает, но как я кольцую для каждого файла вводится?

+0

Просто добавьте новый параметр функции, как OnChange = "readURL (это, 0) [или я в цикле], добавьте тот же идентификатор в DIV изображения ниже поля ввода вызова функции (например, «previews0» или «previews» + $ i, ;;;;; В js добавьте параметр к имени функции «readURL (input, k)» и передайте его ниже на идентификатор div изображения, например «previews» + k ;;;;;; Все готово. –

ответ

0

Вы не можете показать превью до того, изображение на сервере, за исключением того, если вы используете Java на интерфейсе

+0

или вспышка ... но похоже, что это возможно в наши дни, взгляните на мой ответ! –

Смежные вопросы