Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2008, 04:49
midas84
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
problemas SendAndLoad

Hola a todos tengo un grabe problema, soy nuevo en esto asi que se que me ayudaran a solucionarlo, miren intento hacer un programa que saque fotos mediante una camara web y luego guarde el archivo en el servidor, ok, en flash ya pude sacar la foto por que lo saco en un array con todos los pixeles que luego se debe mandar a un php para que lo tradusca en imagen, tambien funciona el php ya que lo probe con los datos que saca el flash, lo que pasa es que no puedo hacer la conexion entre el php y el action script mediante el comando send and load, sea cual sea la direccion me lanza "Error al abrir la URL" y les juro que sea cual sea la direccion y la respuesta aparece esto, no se que hacer probe tutoriales por todo internet y siempre me aparece ese error, el php lo tengo en mi localhost, y necesito que funcione en localhost :(
miren este es el código de mi action script (no me da nisiquiera el tutorial de mandar mail que se encuentra en todo lado)

se encuentra dentro de mi htdocs en la carpeta sellado
este es el action script direccion
Código:
	
        var weedcam:Camera;
	var zona;
	var imagen:Video;
	var pron,maspron,koala:MovieClip;
    var urlo = "";
    var band=true;



//La función que detecta si pulsamos o no
	function accion()
	{
		
//""Dibujamos"" la imagen de la webcam en el bitmapData
//paramas información
		zona.draw( imagen );
//Estos 3 son iguales, detectan si un pixel es claro o no
// este valor 16777215 es el que toman antes de que se inicialice la cámara así evitamos que aparezcan pulsados al principio

        //Actualizo el estado de progreso
        Progreso_mc.Texto_txt.text = "Guardando imagen...";
        
        //Guardo en una matriz el valor de todos los pixels
        var cadena = new String();
        for(var i=1;i<=imagen._height;i++){
                for(var j=1;j<=imagen._width;j++){
                        cadena += "," + zona.getPixel(j,i).toString(16);
						
                }
        }

       
        enviarImagen = new LoadVars();
                
        //Al recibir los datos del PHP generador
        enviarImagen.onLoad = function(exito){
			trace (exito);
			band=true;
			
                //Si todo ha ido bien
                if(exito){
                        //Actualizo el progreso y cargo en una nueva ventana la imagen generada
                        Progreso_mc.Texto_txt.text = "Imagen recibida";
                        Progreso_mc.Cerrar_bt._visible = true;
                        getURL(urlo + unescape(this.archivo),"_blank");
						trace ("exitoso");
						
                        //Si algo ha fallado
                }else{
					trace ("fallo");
                        //Mensaje de error
                        Progreso_mc.Texto_txt.text = "Error al generar la imagen.";
                        Progreso_mc.Cerrar_bt._visible = true;
                }
        }
        
        //Almaceno en la variable a enviar los valores de los pixels, y el ancho y alto de la imagen
        enviarImagen.imagen = cadena;
        enviarImagen.ancho = imagen._width;
        enviarImagen.alto = imagen._height;
       
				
	        //Envio los datos de la imagen
        enviarImagen.sendAndLoad("http://localhost/sellado/salvar.php",enviarImagen,"POST");
		band=false;
     
		trace ("se envio a salvar.php");
		cadena="";
}

		
//Cogemos las webcam
		weedcam = Camera.get();
//Le decimos donde tiene que dibujarla
		_root.mcVideo.vid.attachVideo (weedcam );
//Creamos un nuevo bitmapData, indispensable para usar el getPixel
		zona = new flash.display.BitmapData( 320, 240 );
//Lo guardamos en una variable
		imagen = _root.mcVideo;

   
      var listKey:Object = new Object();
   
      listKey.onKeyDown = function () {
  
          if (Key.getCode() == Key.ENTER) {
          if (band){
			  accion();
   }
            
          }
   
      }
   
      Key.addListener(listKey);
obviamente todo el rato me escribe falso por el trace.
el código php es este que se llama salvar.php y se encuentra exactamente en la direccion que se escribe en sendandload
Código:
<?php

error_reporting(0);
/**
 * Get the width and height of the destination image
 * from the POST variables and convert them into
 * integer values
 */
$w = (int)$_POST['ancho'];
$h = (int)$_POST['alto'];

// create the image with desired width and height

$img = imagecreatetruecolor($w, $h);

// now fill the image with blank color
// do you remember i wont pass the 0xFFFFFF pixels 
// from flash?
imagefill($img, 0, 0, 0xFFFFFF);

$rows = 0;
$cols = 0;

// now process every POST variable which
// contains a pixel color
    $c_row = explode(",", $_POST['imagen']);
for($rows = 0; $rows < $h; $rows++){
    // convert the string into an array of n elements
// . $rows

    for($cols = 0; $cols < $w; $cols++){
        // get the single pixel color value
        $value = $c_row[$cols+($w*$rows)];
        // if value is not empty (empty values are the blank pixels)
        if($value != ""){
            // get the hexadecimal string (must be 6 chars length)
            // so add the missing chars if needed
            $hex = $value;
            while(strlen($hex) < 6){
                $hex = "0" . $hex;
            }
            // convert value from HEX to RGB
            $r = hexdec(substr($hex, 0, 2));
            $g = hexdec(substr($hex, 2, 2));
            $b = hexdec(substr($hex, 4, 2));
            // allocate the new color
            // N.B. teorically if a color was already allocated 
            // we dont need to allocate another time
            // but this is only an example
            $test = imagecolorallocate($img, $r, $g, $b);
            // and paste that color into the image
            // at the correct position
            imagesetpixel($img, $cols, $rows, $test);
        }
    }
}

// print out the correct header to the browser
header("Content-type:image/jpeg");

// display the image
imagejpeg($img);

?>
que puedo hacer?, les repito que no me funciona ningun pero ningun tutorial en la red de conexion entre php y actionscript, siempre me aparece error al intentar abrir la url.
Gracias de antemano.