Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá! Eu novamente...
Achei este código na web:
import com.adobe.images.JPGEncoder;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequestHeader;
import flash.net.URLRequest;
bt_salvarImagem1_mc.buttonMode = true;
function onSavePictureButtonClicked1(event:MouseEvent):void
{
var jpgSource:BitmapData = new BitmapData(img_mc.width,img_mc.height);
jpgSource.draw(img_mc);
var jpgEncoder:JPGEncoder = new JPGEncoder(85);
var jpgStream:ByteArray = jpgEncoder.encode(jpgSource);
*var header:URLRequestHeader = new URLRequestHeader("Content-type","application/octet-stream");*
*var loader:URLLoader = new URLLoader();*
*var myRequest:URLRequest = new URLRequest("**http**://.../saveJPG.php");*
myRequest.requestHeaders.push(header);
myRequest.method = URLRequestMethod.POST;
myRequest.data = jpgStream;
loader.load(myRequest);
loader.addEventListener(Event.COMPLETE,saved);
function saved(e:Event)
{
...aqui inseri scripts para envio das informações para e-mail...
}
}
bt_salvarImagem1_mc.addEventListener(MouseEvent.CLICK, onSavePictureButtonClicked1);
Fiz umas alterações e usei ele para enviar uma imagem do MovieClip para o servidor.
Funciona muito bem, mas teria como enviar DOIS movieclips ao mesmo tempo. Tem como?
Se alguém puder me ajudar, fico grato!
Ninguém?
Precisava saber se tem como. Se tiver, vou buscar saber como faz.
Olá
Agradeço inicialmente pela ajuda.
Tentei fazer aqui, mas não deu nada certo. Será que é pedir muito pra me dar um exemplo de como fazer?
O que você tem que fazer é juntar as duas imagens:
myRequest.data = jpgStream_1+"#"+jpgStream_2;
E no servidor:
...
$imagens_arr = explode( "#", $imagens );
salvar( $imagens_arr[ 0 ] );
salvar( $imagens_arr[ 1 ] );
...Olá novamente.
Depois de semanas retorno à este tópico.
Bem, não consegui o que precisava. Tentei varias vezes e não deu certo.
Se alguem puder fazer para mim, ficaria grato. Sei que a política de fóruns é o aprendizado, mas estou precisando muito disso e estou perdendo muito tempo nos testes.
Segue abaixo um trecho do AS e o PHP que estou usando.
Trecho ACTIONSCRIPT:
...
function enviaDadosParaPHP():void
{
mostraMensagemAviso("ENVIANDO ORÇAMENTO. AGUARDE...");
variaveis = new URLVariables();
variaveis.referenciaCamisaPhp = MovieClip(root).uniforme_mc.referenciaTxt.text;
variaveis.corCamisaPhp = MovieClip(root).corCamisa;
variaveis.referenciaCalcaoPhp = MovieClip(root).uniforme_mc.referenciaCalcaoTxt.text;
variaveis.corCalcaoPhp = MovieClip(root).corCalcao;
variaveis.referenciaGoleiroPhp = MovieClip(root).goleiro_mc.referenciaGoleiroTxt.text;
variaveis.corCamisaGoleiroPhp = MovieClip(root).corCamisaGoleiro;
variaveis.infoPhp = infoTxt.text;
//ENVIO DA IMAGEM DO SIMULADOR DA CAMISA
var jpgSource:BitmapData = new BitmapData(MovieClip(root).uniforme_mc.width,MovieClip(root).uniforme_mc.height);
jpgSource.draw(MovieClip(root).uniforme_mc);
var jpgEncoder:JPGEncoder = new JPGEncoder(90);
var jpgStream:ByteArray = jpgEncoder.encode(jpgSource);
var header:URLRequestHeader = new URLRequestHeader("Content-type","application/octet-stream");
var Load:URLLoader = new URLLoader();var myRequest:URLRequest = new URLRequest("[http://www.siteaqui.com.br/site/simulador/saveJPG.php");](http://www.siteaqui.com.br/site/simulador/saveJPG.php)
myRequest.requestHeaders.push(header);
myRequest.method = URLRequestMethod.POST;
myRequest.data = jpgStream;
Load.load(myRequest);
Load.addEventListener(Event.COMPLETE,saved);
function saved(event:Event):voidMovieClip(root).imagemEnviadaUniforme = (Load.data);
variaveis.imagemEnviadaUniformePhp = MovieClip(root).imagemEnviadaUniforme;
urlPhp = new URLRequest("[http://www.siteaqui.com.br/site/simulador/mail.php");](http://www.siteaqui.com.br/site/simulador/mail.php)
urlPhp.method = URLRequestMethod.POST;
urlPhp.data = variaveis;
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, quandoEnviadoMensagem);
loader.addEventListener(IOErrorEvent.IO_ERROR, quandoHouverErroNoEnvio);
loader.load(urlPhp);
}
}
//Função de evento, mostra ao usuário que a mensagem foi enviada com sucesso.
function quandoEnviadoMensagem(e:Event):void
{
mostraMensagemAviso("PEDIDO DE ORÇAMENTO ENVIADO COM SUCESSO!");
iniciatempoMensagemDeAviso();
}
//Função de evento, mostra ao usuário que houve algum erro durante o envio.
function quandoHouverErroNoEnvio(e:IOErrorEvent):void
{
mostraMensagemAviso("SURGIU UM ERRO! TENTE NOVAMENTE.");
iniciatempoMensagemDeAviso();
}
...
Arquivo saveJPG.php:
<?php
if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] ))
{
//the image file name
$fileName_1 = time().'_'.rand(10,99).".jpg";
// get the binary stream
$im = $GLOBALS["HTTP_RAW_POST_DATA"];
//write it
$fp = fopen("imagens_pedidos/".$fileName_1, 'wb');
fwrite($fp, $im);
fclose($fp);
//echo the fileName;
echo $fileName_1;
}
?>
Ficarei muito grato por qualquer ajuda.
Opa
E aí pessoal, alguma ajudinha aí? Só falta esse detalhe para mim entregar o serviço. Qualquer ajuda será bem vinda.
Mande dois jpgStream concatenados e lá no PHP você os separa...