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:
y este es el php: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"); }
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.