Comunidad de diseño web y desarrollo en internet online

Duda con filefilter

Citar            
MensajeEscrito el 22 May 2010 05:07 pm
Saludos a Todos

Estoy aprendiendo a implementar una aplicación de Upload con Flex, y me nace una duda con la seguridad del fileFilter

Por ejemplo:
var docFilter:FileFilter = new FileFilter("Documentos", "*.pdf;*.doc;*.txt");
var archivo:FileReference = new FileReference();
archivo.browse([docFilter]);

Esta es la línea típica para instanciar un objeto y su filtro.
Luego el browse abre la ventana de windows para seleccionar un archivo que es del tipo que se establecio en fileFilter.

Sin embargo si yo pongo en el cuadro solo un * para ver todos los archivos y selecciono uno distinto, mi sistema lo sube igual.

¿Me sirve de algo el FileFilter para filtrar de verdad un archivo que se sube?
Me refiero si existe la forma de comprobar la extension del archivo que se subira con el fileFilter, para que impida subir archivos que no corresponden.

Por Salov

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2010 09:50 pm
extiende la clase filter

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 May 2010 12:23 am
A que te refieres con extenderla?
Como se aplicacaría tu respuesta a mi duda?

Por Salov

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 May 2010 02:57 am
ve a al primer post donde dice libros de actionscript y lee poo

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 May 2010 03:21 am
Te puedo pedir un favor muy personal XCOM

Si no tienes ni las ganas, ni la intención en ayudarme, te pediría que por favor no respondas los post que escribo.

Tus respuestas son una burla para la gente que se inicia y busca ayuda... (que por lo que yo entiendo, es la idea de una comunidad). Que busca una explicación con peras y manzanas de alguién que tiene la experiencia y sabe más sobre algo que uno leyo y no entendió.

Espero tu comprensión en lo que te pido, gracias.

Por Salov

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 May 2010 04:09 am

Salov escribió:

Te puedo pedir un favor muy personal XCOM

Si no tienes ni las ganas, ni la intención en ayudarme, te pediría que por favor no respondas los post que escribo.

Tus respuestas son una burla para la gente que se inicia y busca ayuda... (que por lo que yo entiendo, es la idea de una comunidad). Que busca una explicación con peras y manzanas de alguién que tiene la experiencia y sabe más sobre algo que uno leyo y no entendió.

Espero tu comprensión en lo que te pido, gracias.


Lo siento, pero pocas personas te explicarán así. Nosotros mismos cuando aprendemos buscamos el camino para entender, rara vez te encuentras con soluciones "servidas en bandeja de plata". La realidad es que deberías apreciar que al menos intenta guiarte y tu eres el vago que no quizo ir a leer el curso de OOP de Cristalab para entender.

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 23 May 2010 09:08 pm
Hernan
En un principio pensaba contestarte con argumentos defendiendo mi postura...

Pero lo tuyo es una simple actitud cobarde, te amparas en que estas detrás de un computador y a kilometros de distancia, para tratar de forma ofensiva y en terminos peyorativos a alguien que ni siquiera conoces.

Me parece lamentable que una persona que dice ser parte directa de cristalab, salga a defender una idea de manera tan pobre y de tan mala forma...

Por Salov

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 May 2010 11:18 pm

Salov escribió:

Hernan
En un principio pensaba contestarte con argumentos defendiendo mi postura...

Pero lo tuyo es una simple actitud cobarde, te amparas en que estas detrás de un computador y a kilometros de distancia, para tratar de forma ofensiva y en terminos peyorativos a alguien que ni siquiera conoces.

Me parece lamentable que una persona que dice ser parte directa de cristalab, salga a defender una idea de manera tan pobre y de tan mala forma...


Si claro, es por eso, soy un cobarde y tu dueño de la verdad.

Dejalo así y espera a ver si alguien quiere responderte con esa actitud. Si desvirtuas tu propio post nuevamente, insultando y siguiendo el hilo, cerraré el post, ya que si tienes problemas, puedes enviarme un MP. Aunque te advierto, si el MP no esta fundamentado y es algo como esto, no lo responderé, en Cristalab tenemos la politica de "Don't feed the Trolls".

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 24 May 2010 08:04 am
Salov, no sé si se podrá con propiedades del filtro. Pero supongo que siempre puedes controlar tú mismo en el evento open, la extensión de dicho documento.
Vamos, a tu FileReference le puedes añadir un listener de tipo Event.OPEN y comprobarlo ahí (Haciendo un cancel())

Código ActionScript :

archivo.addEventListener(Event.OPEN, openHandler);

//más abajo
function openHandler(e:Event){
   var file:FileReference=e.target as FileReference
   //en file.name tendrás el nombre del archivo)
   //usarndo getstr o instr o una combinación vemos si es del tipo que queremos
   if (lo que sea){
        file.cancel()
   }
}


NOTA: Salov, no creo que ni Hernan, ni Xcom, hayan tenido intención de molestar. Los que colaboramos en el foro lo hacemos en nuestro tiempo libre, del mejor modo que sabemos. A veces apuramos una respuesta, otras veces nos extendemos más. A veces estamos más estresados y otras menos y a veces somos más secos o resecos. Es lo que tiene un foro.

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 May 2010 03:13 pm
Gracias Eliseo

La verdad es que tenía 2 ideas para solucionar el problema.

La primera es algo parecido a lo que me dices solo que en el evento SELECT

archivo.addEventListener(Event.SELECT, fileSelectedHandler);
function fileSelectedHandler(event:Event):void

Y entonces pensaba tener un arreglo con las extensiones que soporta mi filefilter y recorrerlo con un for comparandolo con la extensión del archivo (archivo.Type).
Luego con un booleano arrojar si el Type es correcto o no, para permitir el upload.

La segunda opción era hacerlo directamente desde el lenguaje de servidor de la aplicación que en mi caso es PHP, haciendo algo similar a la primera logica.

Yo pensaba si acaso se podría hacer uso del fileFilter que ya esta declarado justamente porque en el livedocs de Adobe con respecto al tema no hacen mención (al menos yo no ví) de un filtrado seguro.

/*
Y Bueno... con respecto a los mensajes anteriores, quizas yo cometí el error de no enviarle un mensaje privado a xcom, explicandole que me dio la sensación que se burlaba de mí, mas que de ayudarme.
La intervención de Hernan me parece impresentable, no le veo justificación alguna, el aparecer de la nada tratando asi a la gente que plantea sus dudas.
Para responder a alguien "Anda a leer libros" o darse el tiempo para descalificarlo... mejor ni siquiera darse la molestia de escribir una respuesta pienso yo.
*/

Por Salov

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 May 2010 04:40 pm

Salov escribió:

Para responder a alguien "Anda a leer libros" o darse el tiempo para descalificarlo...


Te mandaron a leer el curso propio que tenemos escrito, no un libro o cualquier cosa. No sabes como extender una clase, y tu pretendías código en respuesta. Eso fue mi comentario a tu replica a una buena respuesta.

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 24 May 2010 05:01 pm
Si Hernan, tienes toda la razon...

Por Salov

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 May 2010 08:02 pm
Primero:
Lo que te explico hernan esta en el capitulo de action scrpit, en lo que ser refiere a eventos
Lo de los archivos esta en el capitulo de ficheros como subir y bajar
Lo de tratar archivos tambien hay un capitulo entero y un tutorial en estas misma paginas

Segundo:

Si estas iniciando anda y lee un libro (o un capitulo aunque sea E INTENTALO( PRUEBA YERROR)
Eso deberias hacer y luego mostrar tu codigo

Tercero:

Nadie aca esta con el animo de burlarse de ti (Es lo que creo...)

Cuarto:

Tanto te cuesta leer aunque sea un capi

Quinto:

Si no te gustan las respuestas entonces busca en otras paginas de flex ( para eso hay una muy buena documentacion en la pagina oficial)

Nos vemos y anda estudiar POO !!!

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 May 2010 08:25 pm
Ya di con la solución, el comentario de Eliseo si bien llego cuando ya tenía la noción de que hacer.
Me sirvio de ayuda para confirmar que andaba mas o menos por el camino correcto.

Lo que estas escribiendo ahora xcom, debiste haberlo escrito en tu primer o segundo post.
Reconozco que debí haberte escrito un mensaje privado, diciendote lo que pensaba de tus ayudas, y esto debio haber quedado en un intercambio de MPs.
Aun así la intervención de Hernan no tiene ninguna justificación, menos viniendo de alguien que debería mantener la educación a toda costa por ser parte del equipo cristalab.

No me interesa darle mas vueltas y seguir discutiendo de lo mismo, ustedes pensaran de una forma yo de otra, asi de simple.
Gracias de todas formas.

Por Salov

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 May 2010 09:20 pm
Anda leer no mas

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 May 2010 03:00 am
Cierro el post porque ya obtuvo el "usuario" la respuesta y no tiene sentido la discusión.

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.