Ir para conteúdo

Arquivado

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

brcontainer

[Resolvido] Limpa EXIF

Recommended Posts

Gostaria que avaliasem a classe, em breve ponho o SOURCE. Se estiver em area errada por favor movam o tópico obrigado ^^

 

Isso não é um tutorial, apenas criei este exemplo para ajudar as pessoas que usam PHP em tem problemas com EXIF afetando a memoria do servidor:

 

O que é EXIF: http://pt.wikipedia.org/wiki/Exif

Tipos de problemas: http://forum.imasters.com.br/index.php?showtopic=287454 (leia o primeiro poste todo para entender)

 

Não vou ajudar ninguem a adaptar o código ao seu site, ele está ae, é só pegar e estudar ;)

 

Primeiro crie um arquivo chamado MEU.AS(em letras minusculas) salve ele em uma pasta, depois crie um arquivo FLA(Action Script 3.0) e salve na mesma pasta do AS, no rodape do programa procure um local chamado DOCUMENT CLASS e escreva o nome "meu".

 

Baixe então JPGencodeder(é uma classe necessaria):

http://code.google.com/p/as3corelib/

 

dentro do meu.as ponha esse AS3.0:

package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.utils.ByteArray;
import flash.display.Stage;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.net.navigateToURL;
import flash.events.*;
import flash.net.*;
import com.adobe.images.*;
import com.adobe.images.JPGEncoder;

	public class meu extends MovieClip
	{
		private var serverUniqueFileName:String;
		private var jpgSource:BitmapData;
		private var jpgEncoder:JPGEncoder;
		private var jpgStream:ByteArray;
		private var header:URLRequestHeader;
		private var jpgURLRequest:URLRequest;
		private var jpgURLLoader:URLLoader;
		private var sketch_mc:MovieClip;
		
		public function meu():void{
			Config();
		}
		private function Config():void
		{
			sketch_mc=new MovieClip();
			addChild(sketch_mc);
			LoadJPEG();
		}

		private function LoadJPEG():void
		{
			var carregarImg:Loader = new Loader();
			var enderecoImg:URLRequest = new URLRequest("SUA FOTO COM EXIF.jpg");/*Altere aqui*/
			carregarImg.unload();
			carregarImg.contentLoaderInfo.addEventListener(Event.OPEN,inicio);
			carregarImg.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,emProgress
o);
			carregarImg.contentLoaderInfo.addEventListener(Event.COMPLETE,SendJPEG);
			//d.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityE
rror);
			carregarImg.load(enderecoImg);
			sketch_mc.addChild(carregarImg);
		}

		private function inicio(e:Event):void 
		{
			trace('inicio');
		}
		
		private function emProgresso(e:ProgressEvent):void 
		{
			trace('quanto já foi carregado: '+e.bytesLoaded+' total: '+e.bytesTotal+'\n');
		}
		
		function SendJPEG(e:Event):void
		{	
		jpgSource = new BitmapData (sketch_mc.width, sketch_mc.height);
		jpgSource.draw(sketch_mc);
		jpgEncoder = new JPGEncoder(85);
		jpgStream = jpgEncoder.encode(jpgSource);
	
		header = new URLRequestHeader ("Content-type", "application/octet-stream");
		jpgURLRequest = new URLRequest ("http://localhost/criar.php");/*Altere aqui*/
	
		jpgURLRequest.requestHeaders.push(header);				
		jpgURLRequest.method = URLRequestMethod.POST;				
		jpgURLRequest.data = jpgStream;
	
		jpgURLLoader = new URLLoader();
		jpgURLLoader.dataFormat = URLLoaderDataFormat.BINARY;
		jpgURLLoader.load( jpgURLRequest );
		}
	}
}

o PHP(criar.php):

<?php
if(isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$handle=fopen("foto.jpg","w");/*Altere aqui*/
fwrite($handle,$GLOBALS["HTTP_RAW_POST_DATA"]);
fclose($handle);
	if(!$handle){
		echo "!Erro";
	}
}
?>

Considerações finais:

Em breve farei uma tutorial de como usar JPEGencoder, BASE64encoder, PNGencoder ;)

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.