Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2010, 19:26
flavio_dirapa
 
Fecha de Ingreso: agosto-2006
Mensajes: 60
Antigüedad: 18 años, 4 meses
Puntos: 1
Recoger datos binarios pasados con POST

hola a todos. tengo una película flash que me permite tomar una fotografía con una cámara web, y necesito luego pasar la imágen a una página asp.
el código del flash es el siguiente:

// comienzo del código as

import flash.display.Bitmap;
import flash.display.BitmapData;
import com.adobe.images.JPGEncoder;
import flash.net.FileReference;

var quality:int = 100;
var bandwidth:int = 0;
var cam:Camera = Camera.getCamera();
cam.setQuality(bandwidth, quality);
cam.setMode(320,240,3,false);
var video:Video = new Video(320,240);
video.attachCamera(cam);
video.x = 20;
video.y = 100;
addChild(video);

var bgColor:uint = 0xCAD2AE;

var bitmapData:BitmapData = new BitmapData(video.width,video.height,false,bgColor) ;

var bitmap:Bitmap = new Bitmap(bitmapData);
bitmap.x = 360;
bitmap.y = 100;
addChild(bitmap);

capture_mc.buttonMode = true;
capture_mc.addEventListener(MouseEvent.CLICK,captu reImage);

save_mc.buttonMode = true;
save_mc.addEventListener(MouseEvent.CLICK,saveImag e);

function captureImage(e:MouseEvent):void {
bitmapData.draw(video);
}

var fileRef:FileReference = new FileReference();

function saveImage(e:MouseEvent):void{
var encoded_jpg:JPGEncoder = new JPGEncoder(100);
var jpg_binary:ByteArray = encoded_jpg.encode(bitmapData);
var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
var request:URLRequest = new URLRequest("http://localhost/camara/save.asp");
request.requestHeaders.push(header);
request.method = URLRequestMethod.POST;
navigateToURL(request, "_self");
var loader:URLLoader = new URLLoader();
loader.load(request);
}

// final del código as

a continuación transcribo el código de la página save.asp

<%
fileData = Request.BinaryRead(Request.TotalBytes)
strFileName = "foto.jpg"
strPath = Server.MapPath("/camara/")
strPath = strPath & strFileName

Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.AddHeader "Content-Type", "image/jpg"
Response.ContentType = "application/octect-stream"
%>

al presionar el botón save_mc de la pélicula flash (embebida en la página index.asp) me abre un cuadro de diálogo que me invita a abrir o descargar el archivo foto.jpg, pero al hacer cualquiera de las dos cosas la imágen foto.asp no contiene nada (es un archivo vacío).
¿qué estoy haciendo mal en el archivo save.asp?
desde ya, muchas gracias.