Eu já respondi lá no flex-brasil, mas aí vai de novo... Não dá pra fazer o que vc quer Bruno. Tem que fazer esta análise no server e retornar os metadados para o flex depois do upload.
Por razões de segurança, a classe que faz upload (FileReference) não disponibiliza nenhum método para 'ler' arquivos. Vc só pode selecionar um arquivo e fazer o upload. A sugestão do Vicente, de usar o Loader para ler o arquivo funciona, mas ela não permite selecionar o arquivo, vc tem que saber o path para o arquivo antes. E tb não dá pra combinar as duas classes, por exemplo, usar FileReference para escolhar o arquivo, usar Loader para carregar e analisar, e depois upload. FileReference tb não te dá o path do arquivo escolhido, novamente por questões de segurança. Lembre-se que no caso Web vc está rodando em baixo de um browser e isto traz várias limitações. Agora, se tua aplicação for AIR aí é outra coisa, pois o AIR disponibiliza as classes File, FileStrea e outras que te permitem acesso total ao file system. julio On Mar 22, 11:51 am, Vicente Maciel Junior <macie...@gmail.com> wrote: > Bruno... a maneira "programaticamente" mais correta, seria ler os metadados > dos tipos de arquivos citados. Para isso vc precisaria ler a respeito da > especificação de "header" de cada um deles. > > Desconheço em AS3, classes que já façam isso. Mas, é perfeitamente possivel, > carregando os bytes dos arquivos citados na classe ByteArray e analisando-os > conforme suas especificações. Como exemplo, você pode estudar as classes > JPEGEncoder e PNGEncoder presentes na biblioteca AS3CoreLib > (http://code.google.com/p/as3corelib/) que servem para escrever um > flash.display.BitmapData de um DisplayObject nos formatos citados. > > Em Java, creio que será mais fácil você encontrar algoritimos prontos. Nesse > caso, vale ler sobre a integração AS3/Java possibilitada pelo MERAPI > (http://www.merapiproject.net/). > > Porém, existe uma forma de obter "aproximadamente" o mesmo resultado, embora > não seja a mais indicada.... > > Você pode usar a classe "flash.display.Loader" para carregar os arquivos > (JPG, PNG e SWF) e através da propriedade "loaderInfo" > (flash.display.LoaderInfo) obter a propriedade "content" e ler as > informações da classe "flash.display.DisplayObject" (width, height e no caso > do SWF a propriedade "totalFrames") > > No caso do .FLV, você pode usar as classes flash.net.NetConnect e > flash.net.NetStream, que podem carregar tb arquivos locais. Não estou certo > quanto as informações que você poderá ler. Mas eu pesquisaria um pouco disso > tb. (OBS: Se você tivesse usando o Flash Media Server, que acho que não é o > caso, vc teria o evento onMetaData... estou falando isso só pra vc não achar > que esse evento vá funcionar no AIR lendo o arquivo diretamente OK?). > > Lembre-se... esses carregamentos não serão "visuais" se vc não fizer um > addChild() em um "DisplayObject" (no caso do video, attachCamera() na > instância do NetStream). Ou seja, vc não precisa exibir os conteudos > carregados necessariamente. > > Desculpe não mandar nenhum código. Estou tb na correria aqui com projetos > que tem dead-line essa semana. > > Numa pesquisa rápida, achei isso quando ao SWF (ler > header):http://www.brooksandrus.com/blog/2006/08/11/lightweight-swf-header-re... > > Outro link que pode ser util no caso de trabalhar com MetaData (integrar com > o MERAPI ou criar versão AS3):http://code.google.com/p/jflvtool/ > > Dica: Nativamente no Java, você tem as classes javax.imageio.metadata.* Acho > que vc pode explorá-las para inclusive criar uma versão AS3 das classes Java > (teoricamente). > > Detalhe... em ocasiões como essas que o projeto Alchemy > (http://labs.adobe.com/technologies/alchemy/) também se apresentaria bem, > permitindo compilar codigos pré-existentes para esses recursos em C++ em > bibliotecas SWC. > > BOA SORTE E BOM TRABALHO! > > Vicente Maciel Junior > RiaBrazil - Senior Rich App Developer > Independent Web Developer & Consultant > Adobe Advanced Certified Developer > Adobe Certified Instructor (ColdFusion & Flash Platform) > +55 71 8120-0035 > MSN: macie...@gmail.com / Twitter: > macieljrhttp://www.riabrazil.com.brhttp://teclandoalto.blogspot.com > Grupo de usuarios Oficial Adobe RIA-BA:http://bit.ly/ria-ba > > 2009/3/22 Bruno Brandão <brunolopesbran...@gmail.com> > > > Pessoal, > > > Estou fazendo uma aplicação que preciso fazer upload de 4 tipos de arquivos > > diferentes: SWF, FLV, JPG, PNG e antes de continuar o upload precisava > > testar as seguintes informações: > > Caso SWF: > > - width > > - height > > - duração do SWF > > > Caso FLV: > > - width > > - height > > - duração do FLV > > > Caso JPG: > > - width > > - height > > > Caso PNG: > > - width > > - height > > > Alguém poderia me ajudar indicando ai o caminhos das pedras? > > > Muito obrigado, > > -- > > Bruno Brandão > > (71) 9909-3227 --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---