Hola a todos!
Estoy desarrollando una aplicación de dibujo en flash y necesito que cuando el usuario haya acabado de hacer el dibujo y le de al botón guardar, el dibujo que haya echo se guarde como jpg en una carpeta de un servidor. Ya he logrado que me guarde el dibujo como jpg a la máquina utilizando Filereference, luego he encontrado un código que utiliza un PHP para hacer lo mismo, pero no para subir el jpg al servidor:
Código:
private function saveHandler(e:MouseEvent):void
{
var canvasBmp:BitmapData = new BitmapData(521,213);
canvasBmp.draw(canvas);
var myEncoder:JPGEncoder = new JPGEncoder(100);
var byteArray:ByteArray = myEncoder.encode(canvasBmp);
canvasBmp.dispose();
//para abrir una ventana y que el usuario guarde el archivo
_fileRef = new FileReference();
_fileRef.save(byteArray, "imagen.jpg");
//para hacerlo con PHP
//Identifico el tipo de datos como un archivo de código binario
var header:URLRequestHeader = new URLRequestHeader("Content-type","application/octet-stream");
var saveJPG:URLRequest = new URLRequest("savejpg.php?img=mydrawing.jpg");
saveJPG.requestHeaders.push(header);
saveJPG.method = URLRequestMethod.POST;
saveJPG.data = byteArray;
navigateToURL(saveJPG, "_blank");
}
y este es el php:
Código:
<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) {
$jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
$img = $_GET['img'];
header('Content-Type: image/jpeg');
header("Content-Disposition: attachment; filename=".$img);
echo $jpg;
} else {
echo 'Encoded JPEG information not received.';
}
?>
¿como podría hacer que el archivo se subiese a un servidor en vez de a la máquina del usuario?
gracias.