Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2013, 11:27
juanvc123
 
Fecha de Ingreso: octubre-2011
Ubicación: Tierra
Mensajes: 64
Antigüedad: 12 años, 5 meses
Puntos: 0
Exclamación No he podido con este script

se supone que este código me genere canvas deacuerdo al numero de imagenes que escoja del input file multiple y además me inserte la imagen.

el error que no he podido solucionar es que siempre me pone la ultima imagen.

escojo 5 imágenes diferentes y me inserta los 5 canvas pero con la imagen ultima.

Código Javascript:
Ver original
  1. $(document).on('ready', iniciar);
  2.  
  3. function iniciar(){
  4.  
  5.     var URL = window.webkitURL || window.URL;
  6.     var inputFile = $('#pic');
  7.  
  8.     inputFile.change(function (event) {
  9.        
  10.     var lengthFile = inputFile.get(0).files.length;
  11.  
  12.         for(var i = 0; i < lengthFile; i++){
  13.             var file = this.files[i];
  14.             $('#sectionPreview').append('<canvas id="canvas'+i+'"></canvas>');
  15.            
  16.             var url = URL.createObjectURL(file);
  17.             var img = new Image();
  18.             img.src = url;
  19.             img.onload = (function (value) {
  20.                 return  function()
  21.                 {
  22.                     var canvas = document.getElementById('canvas' + value),
  23.                      ctx = canvas.getContext('2d');
  24.  
  25.                     canvas.width = 200;
  26.                     canvas.height = 200;
  27.                     ctx.drawImage(img, 0, 0, 200, 200);
  28.  
  29.                     var imageName = $('#imageName');
  30.                     imageName.val(file.name[value]);
  31.                     console.log('imageName: ' + file.name + ''+ value);
  32.  
  33.                     var contentType = $('#contentType');
  34.                     contentType.val(file.type);
  35.                     console.log('contentType: ' + file.type);
  36.  
  37.                     var imageData = $('#imageData');
  38.                     dataUrl = canvas.toDataURL('image/png').replace('data:image/png;base64,', '');
  39.                     imageData.val(dataUrl);
  40.                 };
  41.             })(i);         
  42.         }
  43.     });
  44. }

Última edición por juanvc123; 21/07/2013 a las 13:37