Silas Pousa 0 Denunciar post Postado Julho 18, 2009 Boa Noite Galera. Desculpe-me se esse Tópico já foi feito, procurei muito e não encontrei nada fácil. Preciso fazer uma function para um botão fazer um download de um arquivo DPF. Encontrei muitas coisas como colocar o endereço do local do arquivo via "navigateToURL" só que esse método não faz o download em si, na verdade ele abre o PDF no próprio browser. Também li só uma classe chamada "FileReference", só com esse método aparece a tela de "salvar como" para você escolher o local e quando você escolhe simplesmente nada acontece. Alguem pode me ajudar. era para ser uma coisa tão simples e esta me dando uma dor de cabeça segue o código para analise bt_pdf.addEventListener(MouseEvent.CLICK, download); function download(event:MouseEvent):void { var arquivo:URLRequest = new URLRequest("Indoor_Society_Apresentação.pdf"); var fileRef:FileReference = new FileReference(); fileRef.download(arquivo); } Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Julho 18, 2009 Acredito que utilizando a classe filereference temos que trabalhar usando http, e nao um pdf que ta na sua maquina. Abs Compartilhar este post Link para o post Compartilhar em outros sites
Silas Pousa 0 Denunciar post Postado Julho 18, 2009 Fala Galera, Desta vez eu até consegue fazer do botão funcionar..... Agora o problema é outro. Se eu utilizar o navegador Chrome o download funciona belezinha. Agora quando tento no IE, ele dá erro de IOError. alguem sabe me ajudar??? Segue em anexo o código. import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; var tempo:Timer = new Timer( 4000, 1 ); tempo.addEventListener( TimerEvent.TIMER, limpa); var downloadURL:URLRequest; var fileName:String = "Indoor_Society_Apresentação.pdf"; var file:FileReference; bar.width = 1; bar.alpha = 0; bt_pdf.addEventListener(MouseEvent.CLICK, FileReference_download); function FileReference_download(Event:MouseEvent):void { downloadURL = new URLRequest(); downloadURL.url = "http://www.intramidia.com.br/novo/Indoor_Society_Apresentação.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelar); dispatcher.addEventListener(Event.COMPLETE, completo); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErro); dispatcher.addEventListener(ProgressEvent.PROGRESS, In_progress); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, segurançaErro); } function cancelar(event:Event):void { texto.text = "Download cancelado pelo usuário"; tempo.start(); } function completo(event:Event):void { texto.text = "Download Completo."; tempo.start(); } function ioErro(event:IOErrorEvent):void { texto.text = "Arquivo não encontrado."; tempo.start(); } function In_progress(event:ProgressEvent):void { var p:Number= event.bytesLoaded/event.bytesTotal; bar.alpha = 1; texto.text = "Baixando Arquivo." per.text = Math.floor(p*100)+"%"; bar.width = Math.floor(p*200); } function segurançaErro(event:SecurityErrorEvent):void { texto.text = "Erro de Segurança."; tempo.start(); } function limpa( e:TimerEvent ):void { texto.text = ""; per.text = ""; bar.alpha = 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Julho 19, 2009 Estou usando este código (AS 3.0) para o download de um arquivo executável zipado, talvez seja útil para você (está publicado, funciona em qualquer navegador): Usei neste exemplo a variável "música", pois meu arquivo para download é uma animação em Flash com som. Você pode escolher tanto para a função quanto para a variável os nomes que preferir. Se tiver mais de um botão para a mesma finalidade (baixar arquivos), altere o nome de instância do botão e escolha outros nomes, tanto para a função como para a variável. function download(event:MouseEvent):void { var musica:URLRequest = new URLRequest("http://www.seudominio.com.br/Arquivo_PDF.rar"); navigateToURL(musica); } bt_download.addEventListener(MouseEvent.CLICK, download); Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Silas Pousa 0 Denunciar post Postado Julho 20, 2009 Fala galera pronto... desta vez consegui.... o problema era os caracteres especiais do arquivo... quando mudei "Apresentação" para "apresentacao" funcionou em qualquer browser.... obrigado pela ajuda galera... vou postar então o código completo para quem precisar.. import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; var downloadURL:URLRequest; var fileName:String = "Indoor_Society_Apresentacao.pdf"; var file:FileReference; bar.width = 1; bar.alpha = 0; bt_pdf.addEventListener(MouseEvent.CLICK, FileReference_download); function FileReference_download(Event:MouseEvent):void { downloadURL = new URLRequest(); downloadURL.url = "http://www.intramidia.com.br/Indoor_Society_Apresentacao.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelar); dispatcher.addEventListener(Event.COMPLETE, completo); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErro); dispatcher.addEventListener(ProgressEvent.PROGRESS, In_progress); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, segurançaErro); } function cancelar(event:Event):void { texto.text = "Download cancelado pelo usuário"; } function completo(event:Event):void { texto.text = "Download Completo."; } function ioErro(event:IOErrorEvent):void { texto.text = "Arquivo não encontrado."; } function In_progress(event:ProgressEvent):void { var p:Number= event.bytesLoaded/event.bytesTotal; bar.alpha = 1; texto.text = "Baixando Arquivo." per.text = Math.floor(p*100)+"%"; bar.width = Math.floor(p*100); } function segurançaErro(event:SecurityErrorEvent):void { texto.text = "Erro de Segurança."; } Compartilhar este post Link para o post Compartilhar em outros sites
Thiago_Engenheiro 0 Denunciar post Postado Julho 9, 2014 Obrigado aí pelo help! No entanto meu flash aparentemente não veio com essas bibliotecas necessárias. import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; Sabe como posso baixar elas? Caso fosse possível posso até trocar o flash por um que funcione. Abs Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Julho 10, 2014 São classes nativas do AS3, se a versão do Flash que está usando não faz o import automático, é só digitar acima do seu código. abs Compartilhar este post Link para o post Compartilhar em outros sites