Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Psygon

[Resolvido] JPGEncoder AS3 + PHP

Recommended Posts

Boa tarde.

 

Estou tendo dificuldades em utilizar o JPGEncoder pra salvar uma foto tirada por webcam no HD do usuário.

Preciso que quando o usuário clica em finalizar a foto salve no HD, segue meu código AS3 abaixo:

 

private function savingImage():void {
		step5_mc.bartop_mc.visible = true;
		step5_mc.share_mc.visible = false;
		step5_mc.end_mc.visible = false;
		step5_mc.btnyourmessage_mc.visible = false;
		step5_mc.btnbackone_mc.visible = false;
		var my_date:Date = new Date();
		snapshot.draw(step5_mc, null, null, null, new Rectangle(0, 0, 1024, 768), true);
		var objJPGEncoder:JPGEncoder = new JPGEncoder(80);
                       byte_array  = objJPGEncoder.encode(snapshot);
		//var page:String 			= urls + "saveimage.php";
		var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
		var request:URLRequest 		= new URLRequest("saveimage.php");
		request.requestHeaders.push(header);
		request.method 				= URLRequestMethod.POST;
		request.data = byte_array;
		loader.addEventListener(Event.COMPLETE, onCompleteR);
		loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
		loader.load(request); 
}

 

E aqui está o PHP:

 

<?php
$pasta = "uploads/";
$today = date("His");

$filename = $today.'.jpg';
$filename = str_replace(" ","",$filename);
$somecontent = base64_decode($_REQUEST['byte_array']);
if ($handle = fopen($pasta.$filename, 'w+')){
if (!fwrite($handle, $somecontent) === FALSE){
fclose($handle);
}
}
?>

 

Obrigado.

Fico no aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

 

Achei a solução para este problema, segue o código AS3 abaixo:

 

private function savingImage():void {
		step5_mc.bartop_mc.visible = true;
		step5_mc.warning_txt.visible = false;
		step5_mc.share_mc.visible = false;
		step5_mc.end_mc.visible = false;
		step5_mc.btnyourmessage_mc.visible = false;
		step5_mc.btnbackone_mc.visible = false;
		var my_date:Date = new Date();
		var url_variables:URLVariables 	= new URLVariables();
		snapshot.draw(step5_mc, null, null, null, new Rectangle(0, 0, 1024, 768), true);
		var objJPGEncoder:JPGEncoder = new JPGEncoder(80);
                       byte_array  = objJPGEncoder.encode(snapshot);
                       var str:String = String(Base64.encodeByteArray(byte_array));
		var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
		var request:URLRequest 		= new URLRequest("insert-image.php");
		request.method 				= URLRequestMethod.POST;
		url_variables.byte_array = String(str);
		request.data = url_variables;
		loader.addEventListener(Event.COMPLETE, onCompleteR);
		loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
		loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusEvent);
		loader.load(request);
		step5_mc.warning_txt.visible = true;
}

 

e abaixo o código PHP:

 

<?php
include 'conn.php';
$pasta = "uploads/";
$today = date("H_i_s_d_m_Y");

$filename = "IMAGE_".$today.".jpg";
$filename = str_replace(" ","",$filename);

$sqlquery = "INSERT INTO mpy_images(image)VALUES('".$filename."')";
mysql_query($sqlquery) or die('Erro: ' . mysql_error());

$name = $_POST['name'];
$email = $_POST['email'];

$sqlquery = "INSERT INTO mpy_info(name,email)VALUES('".$name."','".$email."')";
mysql_query($sqlquery) or die('Erro: ' . mysql_error());

$somecontent = base64_decode($_REQUEST['byte_array']);
if ($handle = fopen($pasta.$filename, 'w+')){
 if (!fwrite($handle, $somecontent) === FALSE){
 	fclose($handle);
 }
}
?>

 

Agora estou com essa dúvida:

 

http://forum.imasters.com.br/topic/446171-tela-login-twitter/

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.