Dinhus 0 Denunciar post Postado Outubro 5, 2010 Boa Tarde a todos. O meu problema é o seguinte: tenho uma galeria de fotos controlada por um XML. O que eu preciso é que a cada foto que apareça na galeria, possa dar a possibilidade para o usuário salvar aquela foto em seu computador. Se precisarem do action script da galeria ou do XML, avisem que coloco aqui. Para informação, estou usando o Flash MX 2004 com XML em um site feito em ASP.NET Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 6, 2010 Se está usando ASP.net ... eu n vo poder ajudar mto quanto a codificação, mas posso dar ideias do que você tem que fazer. Crie no XML um nós que se chame save e coloque a URL completa da foto ali E ai com o Flash você passar esse nó chamado save para um botão de salvar... no qual vai ter o código: getURL("URL QUE VEM DO SERVIDOR");// ex: http://forum.imasters.com.br/random_logos/logo2.png E ai quando o usuário clicar ele vai ser mandado para essa URL ele vai clicar na imagem com o botão direito e salvar... Se você quiser você pode colocar um caminho que vai ter um arquivo com header para salvar a imagem... reconhecido pelo browser... Como se usa no PHP por exemplo: header("Content-Disposition: attachment; filename=" . urlencode($file)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file)); E isso aqui seria em ASP: Response.Clear(); Response.AddHeader("content-disposition", "attachment; filename=" + fileName); Response.WriteFile(virtualPath); Response.ContentType = ""; Response.End(); Espero que resolva teu problema Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Dinhus 0 Denunciar post Postado Outubro 6, 2010 Boa Noite Beserck. Eu já tinha pensado em usar um outro xml so para salvar as fotos. Dai você complemento a idéia e fui fazer isso. Mas me surgiu outro problema: o xml possui esses dados: <fotos> <foto urll="Imagens\playerFotos\Player\CER\grande\guto_nicole2.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\montanaFuriosa.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\montana_guto_nicole3.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\golf_semnome3.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\golf_boy.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\geral.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\galeraToda.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\dany_semnome.jpg"/> <foto urll="Imagens\playerFotos\Player\CER\grande\bike_verdao.jpg"/> </fotos> certo. Daí como que eu vo fazer para passar o getURL com o endereço de cada foto do xml referente a mesma foto que apareceu na galeria? A galeria ta mostrando a foto nessa mesma sequencia desse xml ai. Mas como vo faze para abrir apenas a foto que aparece na galeria? o botao que chama a foto ta com esse code: salvar.onPress = function(){ for (var i = 0; i<caminho.length; i++) { getURL(arquivo.childNodes[i].childNodes[i].attributes.urll); } } caminho é um array que está assim: var arquivo:XML = new XML(); arquivo.load("urll.xml"); arquivo.ignoreWhite = true; arquivo.onload = function() { //primeiro nó: urll; var u = this.firstChild.childNodes; //listando conteúdo do nó e inserindo no array de fotos for (var i = 0; i<u.length; i++) { var ur:Object = new Object(); //criando o objeto de cada url ur = u[i].attributes.urll; caminho.push(ur); } } Me ensinaram a fazer assim. Não sei se essa é forma correta. Até que funcionou. Mas só esta mostrando a primera foto do urll.XML. E mesmo com a galeria em outra foto, ela aparece no browser a primera foto do urll.XML. O código da galeria, eu achei aqui no site do iMasters mesmo, e não to conseguindo juntar as informações para que o botao salvar mostre no browser a mesma foto que ta aparecendo na galeria. A galeria foi feita pelo Lucas Ferreira no artigo: Galeria de fotos facillitada. Caso não tenha esclarecido, eu refaço a dúvida. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 7, 2010 Cara quando você criou a galeria você deu um ID para cada MovieClip Se não deu deveria ter dado... pois para colocar ações para cada MovieClip você vai precisar do ID dele Ai com o id você no botão de salva... que vai ser trocado toda vez que abrir a nova foto... vai só puxar o id do clip e abria Exemplo: btnSave.onPress = function(){ getURL(caminho[id]); } Onde a variavel id é alimentada quando se abre uma foto thumb.onPress = function(){ mcl.loadClip(fotos[i], mc); id = i; } Ou algo parecido com isso Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Dinhus 0 Denunciar post Postado Outubro 11, 2010 Boa noite beserck. Gostaria de agradecer por estar tentando me ajudar. Mas não consegui fazer isso que você me falou para fazer. Gostaria de pedir, caso possa, que olhe o artigo do Lucas e tente, observando o script, me auxiliar nessa dúvida. Ou se não, tente me ajudar de outra forma sem precisar lê o artigo. Tudo, claro, se você puder. O link do artigo é este: Galeria de fotos facillitada Obrigado pela atenção. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
Irineu Antunes 2 Denunciar post Postado Outubro 11, 2010 Cara seu problema é muito simples de ser resolvido :D var fileref:FileReference = new FileReference(); irá baixar a foto correspondente do item 4 do xml, já que consideramos o zero ps: coloque a linha: fileref.download(new URLRequest(u[3].attributes.urll)); no bloco de código do onClick e a linha: var fileref:FileReference = new FileReference(); No topo do seu código meio assim: var fileref:FileReference = new FileReference(); function onClick(url:String):void { fileref.download(new URLRequest(url)); } Compartilhar este post Link para o post Compartilhar em outros sites
Dinhus 0 Denunciar post Postado Outubro 11, 2010 Bom dia Irineu. Sua dica é diferente das que eu já vi. Mas to tentando me localizar para adicionar esse script e não to encontrando. Poderia ser mais especifico quanto a posição que devo colocá-lo para que de certo? Porque o meu problema é consegui fazer com que, ao clicar no botão para salvar, ele pegue a mesma foto que está sendo exibida na galeria e solte no navegador para baixar. Poderia ser de 2 formas: ou abrir a foto externamente para que a pessoa clique com o botão direito em cima e selecione "Salvar imagem como..." ou naquela janela do windows que abre para salvar a imagem no Desktop, Meus Documentos, etc. Grato pela disposição em ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Irineu Antunes 2 Denunciar post Postado Outubro 11, 2010 Crie um botao para download, e quando clicar nele, executar a função correspondente como este código: var fileref:FileReference = new FileReference(); btn_Download.onRelease=function(){ fileref.download(new URLRequest("endereço_da_imagem.jpg")); } Quando eu clicar no botao ele vai executar a função e pronto ;) O filereference faz com que apareça uma janela de dialogo para a pessoa baixar o arquivo ;) Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 12, 2010 Err... AS 2 não precisa do new URLRequest Da uma lida aqui :P http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001046.html Irineu me lembro realmente do metodo de download do filereference... Esqueci completamente que ele existia em AS2... achei q só tinha em AS 3 ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Dinhus 0 Denunciar post Postado Outubro 12, 2010 Boa tarde. Logo que o Irineu falou do FileReference, já cai de cara para fazer. Mas deu o seguinte erro: The class 'flash.net.FileReference' could not be loaded. Pois bem, antes de mandar qualquer besteira aqui no fórum, fui atrás de exemplos na internet à fora. Entre todos, vi vários dizendo que essa classe do FileReference só funciona no AS3 com publicação do .swf acima do flash 7. O meu flash é o MX 2004, que portanto é o flash 7. Daí fui até aonde o beserck me mandou. Li tudo lá e lá também tem um exemplo do FileReference com o título de AS2. Mas que também deu este mesmo erro: The class 'flash.net.FileReference' could not be loaded. Então a dúvida é essa: esse tal de FileReference só funciona, para publicação do .swf, acima do Flash 7? Obrigado pela ajuda de todos. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 12, 2010 Sim a FileReference é da versão 8 em diante :( Então acredito que você não vai poder usar a não ser que você atualize isso ai rapaz :( Não poderia ter nem um CS 3 a lá moda Brasileira ai? Eu sei que é errado... e eu não devo digo que você deva baixar o programa... mas ah coisas que ficam muito mais faceis nas versões mais novas. Qualquer coisa também é só comprar ;) Se não der... sempre da pra forçar download com PHP ai você faz um script e chama ele com AS 2 e força o download dos arquivos :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Dinhus 0 Denunciar post Postado Outubro 12, 2010 kkkkk .. esse beserck .. a moda brasileira ... xD você indicaria qual? CS 3 ou CS 4 ? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif se falo a moda brasileira. até que demoro 3 minutos pra acha os 2 ;) Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 12, 2010 Bom eu ficaria com o CS 4 Agora se achar o CS 5 corre dele.... ta cheio de problemas... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Dinhus 0 Denunciar post Postado Outubro 12, 2010 obrigado pela dica. Vou instalar, tentar usar o FileReference e depois aviso como ficou. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites