Classe FileReference
Fonte:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/FileReference.html
A classe FileReference fornece recursos para upload e download de arquivos entre o cliente e o servidor. Uma janela avisa o usuário para selecionar um arquivo para upload ou um local para download. Cada objeto FileReference referencia um único arquivo no disco do usuário e tem propriedades que contêm informações sobre o arquivo: Tamanho, tipo, data de criação, data de modificação e tipo do criador (somente Macintosh).
Instâncias FileReference são criadas em dois passos:
- Quando você usa o operador new com o construtor FileReference: var fr:FileReference = new FileReference();
- Quando você chama o método FileReferenceList.browse(), que cria um array de objetos FileReference.
Durante a operação de upload, todas as propriedades de um objeto FileReference são populados por chamadas para os métodos FileReference.browse()ouFileReferenceList.browse(). Durante uma operação de download, a propriedade name é populada quando o evento select é disparado, todas as outras propriedades são populadas quando o evento complete é disparado.
O método browse() abre uma janela do sistema operacional para o usuário selecionar um arquivo para upload.
O método FileReference.browse() pemite ao usuário selecionar somente um arquivo; o método FileReferenceList.browse() permite ao usuário selecionar múltiplos arquivos. Depois de uma chamada bem sucedida do métodobrowse(), chame o métodoFileReference.upload() para fazer o upload de um arquivo de cada vez.
As classes FileReference e FileReferenceList não permitem definir o local padrão de arquivos para a caixa de diálogo que os métodos browse() ou download()geram. O local padrão mostrado na caixa de diálogo é a pasta que recentemente foi mais acessada, se aquele local puder ser determinado, ou o desktop. As classes não permitem ler ou escrever a partir do arquivo transferido. Elas não permitem que o arquivo SWF que iniciou o upload ou download acesse o arquivo baixado ou a localização no disco do usuário.
As classes FileReference e FileReferenceList também não fornecem métodos para autenticação. Como servidores que requerem autenticação, você pode baixar arquivos com o Flash Player, mas upload (em todos players) e download (no stand-alone ou player externo) falham. Observe os eventos FileReference para determinar se as operações foram concluídas com êxito e para tratar os erros.
Para operações de upload e download, um arquivo SWF pode acessar somente dentro do mesmo domínio, incluindo alguns domínios que estiverem especificados em um arquivo cross-domain policy. Coloque um arquivo policy no servidor se iniciar upload ou download de outro servidor de arquivos.
Enquanto chamadas para o FileReference.browse(),FileReference.browse(),FileReferenceList.browse(), ouFileReference.download() são executadas, o arquivo SWF pausa a reprodução em stand-alone e players externos para o Mac OS X 10.1 e anteriores.
Propriedades Públicas
- creationDate : Date – [somente leitura] A data de criação do arquivo no disco local.
- creator : Strng – [somente leitura ] O tipo criador de arquivo do Macintosh, que só é usado no Mac OS em versões anteriores ao Mac OS X.
- extension : String – [AIR][somente leitura] A extensão do arquivo.
- modificationDate : Date – [somente leitura] A data em que o arquivo foi modificado no disco local.
- name : String – [somente leitura] O nome do arquivo no disco local.
- size : Number – [somente leitura] O tamanho do arquivo no disco local.
- type : String – [somente leitura] O tipo de arquivo.
Métodos Públicos
- FileReference() – Cria um novo objeto FileReference.
- browse(tipeFilter:Array = null):Boolean – Apresenta uma janela que permite ao usuário selecionar um arquivo para upload.
- cancel():void – Cancela qualquer operação de upload ou download em curso neste objeto FileReference.
- download(request:URLRequest, defaultFileName:String = null):void – Abre uma janela que permite ao usuário baixar um arquivo de um servidor remoto.
- upload(request:URLRequest, uploadDataFieldName:String = “FileData”, testUpload:Boolean = false):void – Inicia o upload de um arquivo selecionado por um usuário para um servidor remote.
- uploadUnencoded(request:URLRequest):void – Inicia o upload de um arquivo para uma URL sem qualquer codificação.
Eventos
- cancel – Disparado quando o upload ou download de arquivos é cancelado através de uma caixa de diálogo de navegação pelo usuário.
- complete – Disparado quando download é completado ou quando o upload gerar um HTTP status código 200.
- httpResponseStatus – [AIR] Disparado se a chamada para o método upload() ou uploadUnencoded tenta acessar os dados sobre HTTP e Adobe AIR é capaz de detectar e retornar o código de status da solicitação.
- httpStatus – Disparado quando um upload falha e um status HTTP está disponível para descrever a falha.
- ioError – Disparado quando uma operação de upload ou download falha.
- open – Disparado quando uma operação de upload ou download inicia.
- progress – Disparado periodicamente durante a operação de upload ou download.
- securityError – Disparado quando uma chamada para o método FileReference.upload() ou FileReference.download() tenta fazer o upload de um arquivo de um servidor ou pegar um arquivo de um servidor que esteja fora do sandbox de segurança da chamada.
- select – Disparado quando o usuário seleciona um arquivo para download ou upload de uma janela do sistema.
- uploadCompleteData – Disparado após os dados serem recebidos pelo servidor depois de um upload bem-sucedido.