Creo que la librería está bien instalada, ya que no me da errores de compilación. El principal problema es que el servidor trabaja en ASP y no sé si la cosa funciona. He probado a poner los ejemplos de php que he visto por internet, a ver si colaba y al servidor le daban igual almejas que percebes, pero lógicamente no ha sido así.
Tengo una película con un MovieClip que tiene deversas figuras geométricas, llamado "canvas", y un botón para salvar. El código del botón es el siguiente;
Código :
import flash.events.MouseEvent; import flash.events.IOErrorEvent; import flash.display.MovieClip; import flash.display.SimpleButton; import flash.display.BitmapData; import flash.net.URLRequest; import flash.net.URLLoader; import flash.net.URLRequestHeader; import flash.net.URLVariables; import flash.net.sendToURL; import com.adobe.images.JPGEncoder; import com.adobe.images.PNGEncoder; import flash.utils.ByteArray; function _save1 (e:MouseEvent):void { var jpgSource:BitmapData = new BitmapData(canvas.width,canvas.height); jpgSource.draw (canvas); var jpgEncoder:JPGEncoder = new JPGEncoder(85); var jpgStream:ByteArray = jpgEncoder.encode(jpgSource); var header:URLRequestHeader = new URLRequestHeader("Content-type","application/octet-stream"); var jpgURLRequest:URLRequest = new URLRequest("jpg_encoder_download.php?name=sketch.jpg"); jpgURLRequest.requestHeaders.push (header); jpgURLRequest.method = URLRequestMethod.POST; jpgURLRequest.data = jpgStream; navigateToURL (jpgURLRequest, "_blank"); }
el código de la página php es el siguiente:
Código :
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) { // get bytearray $jpg = $GLOBALS["HTTP_RAW_POST_DATA"]; // add headers for download dialog-box header('Content-Type: image/jpeg'); header("Content-Disposition: attachment; filename=".$_GET['name']); echo $jpg; }
Todo esto está sacado de esta dirección: http://designreviver.com/tutorials/actionscript-3-jpeg-encoder-revealed-saving-images-from-flash/ (agradezco al autor enormemente su trabajo).
Me gustaría pediros 2 cosas:
Primero, que me dijérais si creéis que el código AS3 es correcto. Lo digo porque no puedo probarlo ya que el Servidor es ASP.
Segundo, si sabéis cómo debería ser el código asp equivalente al código php que he posteado. Esto ya sería como jugar a cartas y ganar.
Ya sé que estamos en el foro de AS3 y que lo que os pido es otra cosa, pero necesito vuestra ayuda por favor.
gracias