Inicio > General > Incomodidades del filereference

Incomodidades del filereference

Viernes, 30 de Junio de 2006

Hace poco utilicé la clase filereference para subir archivos. No se porqué, pero en determinados casos no me funcionaba el script dándome un error de tipo IEerror.

Tras un tiempo intentando depurar el problema descubrí que tenía que pasarle la ruta completa al método upload.

Esta tarea puede ser bastante pesada si somos de los que publicamos nuestro proyecto en local y después lo subimos al servidor definitivo, ya que es muy probable que olvidemos actualizar la ruta para hacer upload.

Por esto se me ocurrió utilizar una propiedad olvidada de movieclip, ._url

Esta propiedad nos da la url de la película. Como _root es un movieclip podemos utilizar lo siguiente para obtener la ruta completa en el servidor:

path=_root._url.substr(0,_root._url.lastIndexOf(”/”))Â

Con esto podemos estar seguros que siempre le pasaremos la ruta de nuestro servidor al método upload.

file.upload(path+”/upload.aspx”)

Alex Martín General

  1. Martes, 8 de Agosto de 2006 a las 21:46 | #1

    Hola Alex,

    Sí, también he notado ese “gran” detalle de la clase FileReference e utilice algo similar a lo que propones.

    También noté que nos oculta el path completo de archivo, es decir, sólo nos deja saber el file.name (nombre) algo que realmente me impidió realizar, por ejemplo, la carga desde local de una imagen seleccionada con FileReference, para así acceder a más propiedades que el peso, como el ancho y alto. En html podemos realizarlo sin problemas citando al evento change del formulario.

    Es decir, creo que realmente fue poco profesional de parte del equipo de macromedia a la hora de pensar dicha clase, o si no, como ellos dijeron, al cabo de unos meses de la detección de situaciones similares, que lo han hecho por seguridad. Pero html lo tiene desde hace años y nunca se detectó ningún fallo de seguridad.

    No miré en AS3 que tal esta con éste tema, pero espero que lo allan mejorado.

    Un saludo

  2. Jueves, 10 de Agosto de 2006 a las 17:00 | #2

    Totalmente deacuerdo contigo Emiliano, una de las tantas cosas hechas rápidas… en fin, pasa en las mejores familias.

  1. Sin trackbacks aún.