12
jun

Descargar PDF en AS3

   Posteado por: n0ldor en ActionScript

Uno de los problemas que me he encontrado esta semana es la de descargarme un PDF. Normalmente cuando ponemos un link a un PDF el navegador lo que nos hace es abrirlo. Para poder solucionar esto se utilizaría un código similar al siguiente:

Actionscript:
  1. package {
  2. import flash.display.Sprite;
  3. import flash.events.*;
  4. import flash.net.FileReference;
  5. import flash.net.URLRequest;
  6. import flash.net.FileFilter;
  7.  
  8. public class FileReference_download extends Sprite {
  9. private var downloadURL:URLRequest;
  10. private var fileName:String = "SomeFile.pdf";
  11. private var file:FileReference;
  12.  
  13. public function FileReference_download() {
  14. downloadURL = new URLRequest();
  15. downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
  16. file = new FileReference();
  17. configureListeners(file);
  18. file.download(downloadURL, fileName);
  19. }
  20. }
  21. }

Este es un codigo que si buscais en la ayuda de flash por FileReference os aparecerá algo mas completo, aqui simplemente lo he reducido al mínimo.

Tags: ,

Esta entrada fue posteada en Viernes, junio 12th, 2009 a las 12:10 y está archivada como ActionScript. Puede seguir cualquier respuesta a esta entrada a traves de RSS 2.0 feed. También puede dar una respuesta, o enlazar desde su propia web.

2 comentarios

1
Joselo
marzo 17th, 2011 a las 4:08

que carajos es esto?

configureListeners(file);

2
marzo 17th, 2011 a las 9:12

Perdón que se me olvidó eliminar esa linea de código. Se puede quitar perfectamente ya que es la función que se encarga de agregar los listeners, si quisieras configurarselos sería algo así:

private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
}

Cada evento lleva a su correspondiente función, cancelHandler, completeHandler, ioErrorHandler,…

Si no quieres utilizarlos pues simplemente elimina la linea.

Un saludo

Dejar un comentario

Nombre (*)
E-mail (no será publicado) (*)
URL
Comentario