É só uma ideia, porque ao inves de fazer a validação do arquivo no
Banco de Dados, não faz no cliente.

Eu faria assim, no inicio da aplicação carregaria a tabela de
validação em memoria, e depois faria a validação contra a tabela em
memoria. se tudo estiver bem faz upload, se não não faz.

E assim poupa as idas desnecessarias ao Banco de dados.

Como disse no inicio é apenas uma ideia

On 29 Abr, 19:32, Samuel Soares <samuelesoa...@gmail.com> wrote:
> Bom dia, estou montando um sistema que tem uma área de upload de
> arquivos.
> Estou utilizando o FileReferenceList para fazer o upload de varias
> arquivos simultâneos. O problema é que antes de realizar o upload,
> tenho que verificar se os arquivos estão "autorizados" para upload.
> Para isto tenho uma tabela no banco de dados com todas as
> carateristicas, como extensao, tamanho, etc, retorna TRUE ou FALSE. E
> quando faço a consulta ao banco de dados não consigo "pegar" o
> resultado da validação. O loop passa pelos arquivos selecionados
> continua até o fim. O resultado é tratado em uma função do result da
> consulta de validacao, quer dizer quando chamo a validacao em uma
> funcao, o retorno vem em outra.
>
> Estou utilizando remoteobject. Faço a consulta e "pego" o seu
> resultado com uma funcao result.
>
> Não sei se deu para entender, em outras linguagems de programação a
> função faz a consulta no banco de dados, faço a análise e retorno o
> resultado que precisar, só depois que o loop continua. No flex não.
> Tenho uma função ou linha que faz a consulta banco de daods e tenho
> outra função que só trata o resultado, enquanto isso o sistema
> continua sua execução.
>
> O problema não é no upload, mas como tratar estas funções.
>
> COMO FAZER PARA TER ESTE RETORNO DA FUNÇÃO IMEDIATAMENTE, AO REQUISITÁ-
> LA? EU PRECISO DO RESULTADO DA CONSULTA DO BANCO DE DADOS NO MOMENTO,
> SEM PRECISAR DE FICAR PASSANDO POR RESULT, FAULT, TENTAR ALGUMA
> ARTIMANHA, FAZER VARIAS FUNCOES, ETC..
>
> ...
>
>                 private function Validar(tipo:String):void
>                 {
>                         
> roArquivos.getOperation('VerificaTipoDeArquivo').send(tipo);
>                 }
>
>                 private function Upload_onSelect(event:Event):void
>                 {
>                         lista = FileReferenceList(event.target);
>                         arrayArquivos = lista.fileList
>                         var i:int = 0;
>
>                         // Percorrea a lista de arquivos selecionados
>                         for (i=0; i < arrayArquivos.length; i++)
>                         {
>                                 arquivo = FileReference(arrayArquivos[i]);
>                                 contador = i;
>                                //
>                                // É AQUI
>                                //
>                                 if (Validar(arquivo.type) == true) 
> txtArquivo.text =
> txtArquivo.text + arquivo.name + "; ";
>                         }
>                 }
>
>                 // Trata o result da validacao
>                 private function onResultValidacao(event:ResultEvent):void
>                 {
>                         return event.result.toString();
>                 }
>
> ...
>
> Obrigado!
>
> --
> 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 emhttp://groups.google.com/group/flexdev

-- 
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

Responder a