Se quer mesmo fazer no flex...
Vai um exemplo com o sdk 3.5 e flashplayer 10.0 ou superior(flashplayer
anterior a este não dá suporte para alguns métodos e atributos do
Filereference):
private var arquivo : FileReference;
private function onImportar():void {
arquivo = new FileReference();
arquivo.addEventListener(IOErrorEvent.IO_ERROR,
onUploadError, false, 0, true);
arquivo.addEventListener(Event.SELECT, onSelectArquivo,
false, 0, true);
arquivo.addEventListener(ProgressEvent.PROGRESS,
onUploadProgress, false, 0, true);
arquivo.addEventListener(Event.COMPLETE, onUploadComplete,
false, 0, true);
try {
arquivo.browse([new FileFilter("Arquivo texto",
"*.txt;*.text")]);
}
catch (error:Error) {
Alert.show("Não foi possível abrir uma janela para
selecionar o arquivo." + " Verifique se o seu navegador web aceita este
recurso.");
}
}
public function onUploadError(event:IOErrorEvent):void {
PopUpManager.removePopUp(progressBarWindow);
Alert.show("Ocorreu um erro ao fazer o upload do arquivo: " +
event.toString());
}
private function onSelectArquivo(event:Event):void {
if (arquivo != null) {
progressBarWindow =
ProgressBarWindow(PopUpManager.createPopUp(this, ProgressBarWindow, true));
progressBarWindow.progressBar.indeterminate = false;
progressBarWindow.progressBar.mode = "manual";
progressBarWindow.progressBar.maximum = arquivo.size;
arquivo.load();
}
else {
Alert.show("Selecione um arquivo");
}
}
private function onUploadProgress(event:ProgressEvent):void {
progressBarWindow.progressBar.setProgress(event.bytesLoaded,
event.bytesTotal);
}
private function onUploadComplete(event:Event):void {
/* Pega a referencia do FileReference */
arquivo = event.currentTarget as FileReference;
/* Variavel para armazenar o ByteArray */
//var data:ByteArray = new ByteArray();
/*A partir daqui tenho todo o texto no array "linhas", onde
cada linha do texto é uma posição no array*//
var linhas:Array =
arquivo.data.readMultiByte(arquivo.data.bytesAvailable,
"iso-8859-1").split("\n");
.
.
.
.
}
Em 15 de dezembro de 2010 17:41, Guilherme Ventura de Souza <
[email protected]> escreveu:
> É recomendável e compensa muito mais fazer tudo via back end como já
> disseram, é um processo razoávelmente simples, então não será difícil
> pesquisar e aprender a fazer no back end mesmo, além do mais acredito que
> via back end também fique bem mais rápido a aplicação.
>
> *From:* Helio Antonio Francisco Silva <[email protected]>
> *Sent:* Wednesday, December 15, 2010 3:36 PM
> *To:* [email protected]
> *Subject:* Re: [flexdev] Re: Arquivos no Flex
>
> Minha linguagem de back end digamos que e muito tosca... por isso eu
> queria pegar o arquivo txt no flex extrair os dados e depois jogar via
> webservice toda a extrutura por que assim euainda poderia paginar caso fosse
> superior a 10.000 registros..
>
> 2010/12/15 Mário Júnior <[email protected]>
>
>> Pq via webservice??? Faz um upload normal mesmo..... daí seu back-end vai
>> receber o arquivo, le-lo, dar as baixas dos boletos no banco de dados (de
>> acordo com o arquivo) e mandar para o flex o resultado (x boletos pagos,
>> $$$$ recebidos, etc).
>>
>> Já fiz assim.. nao é complicado.
>>
>>
>> []'s
>>
>>
>>
>>
>> Em 15 de dezembro de 2010 16:25, Helio Antonio Francisco Silva <
>> [email protected]> escreveu:
>>
>> Humm entao eu pegaria no flex e enviaria via Webservice o arquivo TXT ?
>>> sera que a webservice do flex envia Arquivo TXT ?
>>>
>>> 2010/12/15 Rodrigo da Rosa Elesbão <[email protected]>
>>>
>>> Você poderia solicitar o arquivo via httpRequest, mas assim como o
>>>> Leonardo falou seria muito melhor parsear esse txt no servidor e enviar
>>>> mastigado pro flex.
>>>> --
>>>> Att,
>>>> Rodrigo da Rosa Elesbão <slipknabos(at)gmail.com>
>>>> Twitter: @relesbao <http://twitter.com/relesbao>
>>>>
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>>> Para sair da lista, envie um email em branco para
>>>> [email protected]
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>>
>>>
>>>
>>>
>>> --
>>> *Hélio Antonio Fransico Silva*
>>> Desenvolvedor web
>>> Certificado Flash developer
>>> Certificado Flash Design
>>> Certificado web developer
>>> Consultor Microsiga / Totvs
>>> Desenvolvedor ADVPL / ASP
>>> Analista de sistemas e ERP Sênior.
>>>
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>> Para sair da lista, envie um email em branco para
>>> [email protected]
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>
>>
>>
>> --
>> Mario Junior
>> http://blog.mariojunior.com/
>> @mariojunior
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>
>
> --
> *Hélio Antonio Fransico Silva*
> Desenvolvedor web
> Certificado Flash developer
> Certificado Flash Design
> Certificado web developer
> Consultor Microsiga / Totvs
> Desenvolvedor ADVPL / ASP
> Analista de sistemas e ERP Sênior.
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
--
Clayton Marques Pereira
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev