Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Imagen A Cadena

Estas en el tema de Imagen A Cadena en el foro de Frameworks JS en Foros del Web. Buenas Buenas. Primero que nada, siempre quiero agradecerles por aunque sea entrar a este tema. Y sin más rodeos voy al problema. Como sabemos, no ...
  #1 (permalink)  
Antiguo 15/11/2009, 21:16
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 6
Imagen A Cadena

Buenas Buenas.

Primero que nada, siempre quiero agradecerles por aunque sea entrar a este tema.

Y sin más rodeos voy al problema.

Como sabemos, no se puede enviar un archivo a través de XMLHttpRequest, pero que tal si descomponemos la imagen en una cadena de texto y la pasamos como parámetro POST para luego guardarla en un campo BLOB desde PHP.

Se podrá hacer esto?
Descomponer la imagen en un string?
La verdad de AJAX / JS no entiendo mucho. Por esto recurrí al foro.
__________________
Gracias
  #2 (permalink)  
Antiguo 16/11/2009, 05:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Imagen A Cadena

El principal problema es que no lograrás acceder al contenido de ningún archivo que esté del lado del cliente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/11/2009, 06:09
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Imagen A Cadena

Salvo en Firefox 3, que permite hacer cosas como esta:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body><form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <
input type="file" name="file" onchange="document.getElementById('prev').style.display='inline';document.getElementById('prev').src='data:'+this.files.item(0).getAsDataURL();document.getElementById('fs').innerHTML=' '+(parseInt(this.files.item(0).fileSize)/1024).toFixed(2)+' kb';document.getElementById('log').innerHTML=this.files.item(0).getAsDataURL()" />
  <
img id="prev" src="" width="85"  style="display:none;" /><span id="fs"></span>
</
form>  
<
div id="log"></div>
</
body>
</
html
  #4 (permalink)  
Antiguo 16/11/2009, 22:28
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Imagen A Cadena

Agrego: Este otro camino funciona sin problemas (aunque sólo localmente) en Firefox, Safari y Chrome:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
<
script>
function 
getBase64Image(v) {
    var 
img=document.body.appendChild(document.createElement('img')).src=v;
    
img.onload=function(){
        var 
canvas document.createElement("canvas");
        
canvas.width img.width;
        
canvas.height img.height;
        var 
ctx canvas.getContext("2d");
        
ctx.drawImage(img00);
        var 
dataURL canvas.toDataURL("image/png");
        
document.getElementById('log').innerHTML='<img src="'+dataURL+'" />';
    }
}

</script>
</head>

<body>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <label for="file"></label>
  <input type="file" name="file" id="file" onchange="getBase64Image(this.value)" />
</form>
<div id="log"></div>
</body>
</html> 

Última edición por Panino5001; 16/11/2009 a las 22:57
  #5 (permalink)  
Antiguo 17/11/2009, 09:48
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Imagen A Cadena

Muy buen aporte, lastima para los usuarios de IE y Opera
__________________
Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.