interlokk 0 Denunciar post Postado Agosto 26, 2010 Pessoal é o seguinte. TEnho um arquivo em flash que pega a imagem da webcam e congela na tela. O actionscript do flash lança os dados da imagem para um arquivo asp que deveria salvá-lo. O problema é que não consigo passar a variavel da imagem para o codigo asp pois o acs3 não informa o nome da varivel da imagem (sou leigo no assunto). Até onde eu sei os dados são passados por uma array binaria, mas qual o seu nome? Em asp as variaveis enviadas via post são pegas por uma request.form('campo_do_form"), mas como eu faço aqui? O código as3 está abaixo: import flash.display.Bitmap; import flash.display.BitmapData; import com.adobe.images.JPGEncoder; var snd:Sound = new camerasound(); //new sound instance for the "capture" button click var bandwidth:int = 0; // Maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second. var quality:int = 100; // This value is 0-100 with 1 being the lowest quality. var cam:Camera = Camera.getCamera(); cam.setQuality(bandwidth, quality); cam.setMode(320,240,30,false); // setMode(videoWidth, videoHeight, video fps, favor area) var video:Video = new Video(); video.attachCamera(cam); video.x = 20; video.y = 20; addChild(video); var bitmapData:BitmapData = new BitmapData(video.width,video.height); var bitmap:Bitmap = new Bitmap(bitmapData); bitmap.x = 360; bitmap.y = 20; addChild(bitmap); capture_mc.buttonMode = true; capture_mc.addEventListener(MouseEvent.CLICK,captureImage); function captureImage(e:MouseEvent):void { snd.play(); bitmapData.draw(video); save_mc.buttonMode = true; save_mc.addEventListener(MouseEvent.CLICK, onSaveJPG); save_mc.alpha = 1; } save_mc.alpha = .5; function onSaveJPG(e:Event):void{ var myEncoder:JPGEncoder = new JPGEncoder(100); var byteArray:ByteArray = myEncoder.encode(bitmapData); var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream"); var saveJPG:URLRequest = new URLRequest("save.asp"); saveJPG.requestHeaders.push(header); saveJPG.method = URLRequestMethod.POST; saveJPG.data = byteArray; var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, sendComplete); urlLoader.load(saveJPG); function sendComplete(event:Event):void{ warn.visible = true; addChild(warn); warn.addEventListener(MouseEvent.MOUSE_DOWN, warnDown); warn.buttonMode = true; } } function warnDown(e:MouseEvent):void{ navigateToURL(new URLRequest("images/"), "_blank"); warn.visible = false; } warn.visible = false; Grato. Compartilhar este post Link para o post Compartilhar em outros sites
Irineu Antunes 2 Denunciar post Postado Agosto 26, 2010 Faça as seguintes alterações var postVars:URLVariables = new URLVariables(); postVars.flashImagem = byteArray; saveJPG.data = postVars; e no asp: (exemplo em php) $img = $_post["flashImagem]; Compartilhar este post Link para o post Compartilhar em outros sites
interlokk 0 Denunciar post Postado Agosto 26, 2010 Olá Irineu, grato pela resposta. Eu usei esta solução aqui e funcionou bem. Com essas modificações o arquivo e o seu nome que é passado pela seguinte linha: urlRequest.data = UploadPostHelper.getPostData( 'image.jpg', byteArray,"file", postVariables); Assim, basta pegar as variaveis numa função de upload normal usando o FSO. Abs. Compartilhar este post Link para o post Compartilhar em outros sites