Comunidad de diseño web y desarrollo en internet online

Problema con exportación de jpg en php?

Citar            
MensajeEscrito el 26 May 2012 07:54 pm
Buenas, el otro dia estaba siguiendo un tutorial para hacer una remera online, daba la posibilidad de bajar el archivo, lo baje, le hice varios cambios adaptando a mis necesidades, ahora el problema, cuando pongo guardar imagen (con el archivo ya subido a servidor con php compatible) en vez de guardarme el .jpg o .png, me sale el cuadro para guardar el archivo .php que ejecuta la funcion!

aqui esta la parte del codigo as3 que realiza el draw de la imagen (nada arroja errores).




Código ActionScript :

formato_cb.addItem({label:"Jpeg" , data:"JPEG"});
formato_cb.addItem({label:"Png" , data:"PNG"});

function crearIMG(e):void {
   capturarIMG(exp_img, formato_cb.selectedItem.data);
}
function capturarIMG(target:DisplayObject, tipo:String):void {
   img_count++;
   // dirección de la url PHP
   var phpCreator:URLRequest = new URLRequest("crearIMG.php");
   phpCreator.method = URLRequestMethod.POST;
   // objeto que contendrá los datos a enviar
   var datosPOST:URLVariables = new URLVariables();
   // rutinas para capturar el área deseada, en nuestro caso el clip shirt_mc
   var relative:DisplayObject = target.parent;
   var rect:Rectangle =target.getBounds(relative);
   // borde en píxeles que se añade alrededor de la imagen
   var bordeImagen:uint=1;
   var bitmapData:BitmapData = new BitmapData(rect.width + bordeImagen * 2, rect.height + bordeImagen * 2);
   // capturamos la imagen
   bitmapData.draw(relative, new Matrix(1, 0, 0, 1, -rect.x + bordeImagen, -rect.y + bordeImagen));
   var byteArray:ByteArray;
   switch (tipo)  {
      case "JPEG":
      // en el caso jpeg hay que instanciar un objeto pasando 
     // la calidad JPEG antes de invocar el método
          datosPOST.nombreArchivo="imagen"+img_count+".jpg";
        var jpgEncoder:JPGEncoder = new JPGEncoder(100);
        byteArray = jpgEncoder.encode(bitmapData);
        break;
      case "PNG":
        default:
        datosPOST.nombreArchivo="imagen"+img_count+".png";
        byteArray = PNGEncoder.encode(bitmapData);
        break;
   }
     // enviamos los datos
   navigateToURL(phpCreator, "_self");
}



y este es el contenido del archivo .php

Código PHP :

<?php
if ($_POST['tipo'] == 'PNG'){
   header('Content-Type: image/png');
 }else{
   header('Content-Type: image/jpeg');
}
header("Content-Disposition: attachment; filename=".$_POST['nombreArchivo']);
echo base64_decode($_POST["image"]);
?>




muchisimas gracias!

Por goncy

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 29 May 2012 03:16 pm
Prueba guardarlo, aunque venga con el nombre mal quiz{as sea la imagen.
Lo que veo raro es usar base64_decode, generalmente se pasa directamente el archivo con un

readfile($_POST["image"]);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.