lendadomato 1 Denunciar post Postado Março 3, 2011 Olá pessoal, como podem ver a classe jpgEncoder faz um print do mc e salva a imagem no computador do visitante, seria possível usar o mesmo botão de "salvar" para enviar a imagem para um email simultaneamente? e como o farei? tenho o seguinte codigo: import com.adobe.images.JPGEncoder; import flash.events.MouseEvent; var file:FileReference = new FileReference(); var jpgSource:BitmapData = new BitmapData (meu_mc.width, meu_mc.height); jpgSource.draw(meu_mc,new Matrix()); var jpgEncoder:JPGEncoder = new JPGEncoder(100); var jpgStream:ByteArray = jpgEncoder.encode(jpgSource); // Download btn_salvar.addEventListener(MouseEvent.CLICK, downloadIMG); function downloadIMG (event:MouseEvent) { file.save(jpgStream,'imagem.jpg'); } fico no aguardo! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 3, 2011 você vai ter que mandar a imagem para o servidor, e lá você faz a operação de mandar o email com ela, ou de forma anexa, ou você deixa a imagem numa pasta, e coloca no email a url de onde esta esta []´s Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Março 3, 2011 você vai ter que mandar a imagem para o servidor, e lá você faz a operação de mandar o email com ela, ou de forma anexa, ou você deixa a imagem numa pasta, e coloca no email a url de onde esta esta []´s amigo Eder, enviando para o servidor pra mim seria uma mão na roda, mas eu não sei como deve proceder para fazer o upload do BitmapData e enviar com o mesmo evento do botão que salva. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 3, 2011 cara, tem muitas maneiras, vai depender ser você usar AMF ou vai mandar por POST mesmo e quando chegar no servidor, você vai pegar o conteúdo da variável, e transformar em imagem dá uma pesquisada por upload BitmapData []´s Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Março 3, 2011 Eder, andei dando uma lida por aí e quando vou enviar para o servidor da o seguinte erro: Error: Error #2174: Apenas uma operação de download, upload, carregamento ou gravação pode estar ativa por vez em cada FileReference. Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Março 4, 2011 pessoal, consegui salvar e enviar para o email, mas o anexo não chega, onde estou errando? import com.adobe.images.JPGEncoder; import flash.events.MouseEvent; var file:FileReference = new FileReference(); var jpgSource:BitmapData = new BitmapData (meu_mc.width, meu_mc.height); jpgSource.draw(meu_mc,new Matrix()); var jpgEncoder:JPGEncoder = new JPGEncoder(100); var jpgStream:ByteArray = jpgEncoder.encode(jpgSource); var req:URLRequest = new URLRequest("upload_dados.php"); req.contentType = "application/octet-stream"; req.method = URLRequestMethod.POST; req.data = jpgStream; var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; var variables:URLVariables = new URLVariables(); variables.attach = 0; file.addEventListener(Event.SELECT, fileAdded); // Download btn_salvar.addEventListener(MouseEvent.CLICK, salvarImagem); function salvarImagem (event:MouseEvent) { file.save(jpgStream,'imagem.jpg'); loader.load(req); } function fileAdded(e:Event):void { variables.attach = 1; } aqui o php: <?php $para = "seuemail@seudominio.com.br"; $assunto = "Teste"; $bound = "XYZ-" . date("dmYis") . "-ZYX"; if (($fp = fopen($_FILES['Filedata']['tmp_name'],"rb"))) { $anexo = fread($fp,filesize($_FILES['Filedata']['tmp_name'])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); } if ($anexo) { $mensagem = "--$bound\nContent-type: text/html\nContent-Transfer-Encoding: 7bit\n\n$corpo\n\n" . "--$bound\nContent-type: $_FILES[Filedata][type]\nContent-Disposition: attachment; filename=" . $_FILES['Filedata']['name'] . "\nContent-Transfer-Encoding: base64\n\n$anexo\n" . "--$bound\r\n"; mail($para,$assunto,$mensagem,"From: \nMIME-Version: 1.0\nContent-type: multipart/mixed; boundary=\"$bound\""); } else { mail($para,$assunto,$corpo,"Content-type: text/html"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Março 7, 2011 se eu uso o load loader.load(req); não retorna nenhum erro mas o anexo não chega, se uso o upload loader.upload(req); da não chega nem o email nem o anexo e da o seguinte erro: Error: Error #2174: Apenas uma operação de download, upload, carregamento ou gravação pode estar ativa por vez em cada FileReference. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 9, 2011 não testei, mas acho que faltou isso: var variables:URLVariables = new URLVariables(); variables.name = "imgName"; variables.type = ".jpg"; variables.image = jpgStream; var req:URLRequest = new URLRequest("upload_dados.php"); req.contentType = "application/octet-stream"; req.method = URLRequestMethod.POST; req.data = variables e no PHP, você mandou por POST, não é um $_FILES: $anexo = base64_decode($_POST['image']) []´s Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Março 9, 2011 amigo Eder, não funcionou, na verdade esse codigo é parte de um upload de arquivos atravéz do browser e eu tentei fazer uma adaptação mas não consegui, o codigo abaixo funciona com o php postado acima, se você puder me ajudar fico muito agradecido: /* by futre peopleforfun.com */ import fl.managers.StyleManager; import com.adobe.images.JPGEncoder; import flash.events.MouseEvent; var URLrequest:URLRequest = new URLRequest("upload_dados.php"); URLrequest.method = URLRequestMethod.POST; var imageFilter:FileFilter = new FileFilter("Images (*.jpg, *.gif, *.png)", "*.jpg; *.gif; *.png"); var textFilter:FileFilter = new FileFilter("Documents (*.txt, *.doc, *.pdf)", "*.txt; *.doc; *.pdf"); var archiveFilter:FileFilter = new FileFilter("Archive (*.zip, *.rar)", "*.zip; *.rar;"); var filter:Array = new Array(imageFilter, textFilter, archiveFilter); var file:FileReference = new FileReference(); var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; var variables:URLVariables = new URLVariables(); variables.attach = 0; file.addEventListener(Event.SELECT, fileAdded); browse_btn.addEventListener(MouseEvent.CLICK, browseFile); send_btn.addEventListener(MouseEvent.CLICK, sendVars); function browseFile(e:MouseEvent):void { file.browse(filter); } function sendVars(e:MouseEvent):void { file.upload(URLrequest); } function fileAdded(e:Event):void { variables.attach = 1; } Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 9, 2011 como eu falei, existem varias maneiras, você pode usar o file.upload(), que ele só vai mandar a imagem para o servidor, como se fosse um form em HTML, ai sim você recupera ela com um $_FILES agora se for usando o loader.load(), para mandar outras informações junto, é da maneira que mostrei pela variável $_POST eu tô sem "estrutura" aqui para testar, mas pega algum code pronto na web que use o loader.load, e testa para ver []´s Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Março 10, 2011 andei procurando muito na Web e o que eu encontrei foi em as2 com a classe "BitmapExporter" , eu abri o codigo para estudar e não entendi muito pois tem uma mistura de as2 com as3. Compartilhar este post Link para o post Compartilhar em outros sites