Visto 64.498 veces.

AS3 – Error #2038 – Problema al descargar o subir archivos del servidor con la clase FileReference utilizando Mozilla Firefox y Google Chrome. (Solucionado)

Para quienes hayan implementado una clase encargada de subir o descargar archivos del servidor dentro de una RIA ( Rich Internet Application) o cualquier otro tipo de aplicación modular basada en formularios independientes que van siendo cargados a la aplicación principal según necesidad, es probable que se encuentren con este problema o BUG relacionado con la clase FileReference al utilizar la RIA con los navegadores Firefox y Chrome.

Lamentablemente yo me encontré con este problema y tuve que poner media app patas arriba antes de encontrar una solución a este error.

Lo curioso es, que este problema no ocurre con internet Explorer. Por algún motivo que desconozco la clase FileReference requiere de un parámetro que no tengo muy claro si es una especie de sesión Id o cookie especial necesaria para su correcto funcionamiento, este parámetro lo recoge del navegador en el momento que ejecutamos la aplicación.

Supongamos que tenemos una aplicación modular con un formulario principal llamado FORM-A (Main) desde donde llamamos o cargamos otro formulario llamado FORM-B donde reside nuestra clase FileReference encargada de gestionar las subidas y descargas de archivos del servidor.

Si ejecutamos nuestra aplicación con internet Explorer podremos comprobar que todo funciona correctamente en cambio si probamos la aplicación con Firefox o Chrome veremos que obtendremos un Error #2038, al parecer con estos navegadores por alguna razón en concreto no son capaces de enviar el parámetro necesario a la clase FileReference cuando esta reside en un formulario independiente o más claramente cuando nuestra clase FileReference no está cargada directamente en el formulario principal FORM-A (Main).

Para solucionar este problema tendremos que importar nuestra clase encargada de gestionar las subidas y bajadas de fichero del servidor y que contiene el paquete flash.net.FileReference dentro de la clase o formulario principal (Main) de nuestra aplicación. Despues declararemos una referencia global de dicha clase para poder acceder a ella desde los formularios o clases cargadas externamente (FORM-B).

Por algún motivo si ejecutamos nuestra aplicación con Firefox o Chrome y nuestra clase FileReference se encuentra dentro del formulario o clase Main principal, esta recibe el parámetro necesario correctamente, en cambio si nuestra clase FileReference se encuentra dentro de otra clase o formulario externo y lo cargamos posteriormente al formulario principal los navegadores firefox y chrome no son capaces de hacerle llegar el parámetro.

En definitiva para solucionar el problema tenemos que importar nuestra clase FileReference dentro de la clase principal (Main) y crear un acceso global de ella utilizando la típica clase singleton para poder disponer de dicha clase desde los formularios externos cargados dinámicamente.

Ejemplo:

Global class

FORM-A

FORM-B

Importando nuestra clase (FileReference) dentro del formulario principal y creando un acceso global para acceder a ella desde formularios externos deberíamos solucionar el problema del error #2038 con los navegadores Firefox y Chrome.

Espero que esta explicación le sirva a alguien mas, saludos.

3 comments on “AS3 – Error #2038 – Problema al descargar o subir archivos del servidor con la clase FileReference utilizando Mozilla Firefox y Google Chrome. (Solucionado)

  • Tienen buenos puntos los 3 articulos, despues de todo FFXIII si se ha creado para dar pie a mas titulos, a diferencia de FFVII por ejemplo (Donde retocaron bastantes datos para poder sacar nuevas tramas). Y en el 2do finaliza con lo que pienso, no son juegos perfectos ni mucho menos, pero han sabido crear un mundo y personajes capaces de compensar eso. Por eso no me importaria otra racion de Lightning.

    Reply

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">