Pacote | flash.net |
Classe | public class FileReference |
Herança | FileReference EventDispatcher Object |
Subclasses | File |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Observe: No Adobe AIR, a classe File, que estende a classe FileReference, fornece mais capacidades e tem menos restrições de segurança do que a classe FileReference.
Ocorrências de FileReference são criadas das seguintes maneiras:
- Quando você utiliza o operador
new
com o construtor FileReference:var myFileReference = new FileReference();
- Quando você chama o método
FileReferenceList.browse()
, que cria uma matriz de objetos FileReference.
Durante uma operação de upload, todas as propriedades de um objeto FileReference são preenchidas por chamadas aos métodos FileReference.browse()
ou FileReferenceList.browse()
. Durante uma operação de download, a propriedade name
é preenchida quando o evento select
é despachado. Todas as outras propriedades são preenchidas quando o evento complete
é despachado.
O método browse()
abre uma caixa de diálogo do sistema operacional que solicita que o usuário selecione um arquivo para upload. O método FileReference.browse()
permite ao usuário selecionar um único arquivo, enquanto o método FileReferenceList.browse()
permite selecionar vários arquivos. Após uma chamada bem-sucedida ao método browse()
, chame o método FileReference.upload()
para carregar um arquivo por vez. O método FileReference.download()
solicita que o usuário especifique uma localização na qual salvar o arquivo, iniciando o download a partir de uma URL remota.
As classes FileReference e FileReferenceList não permitem a definição da localização de arquivo padrão para a caixa de diálogo gerada pelos métodos browse()
ou download()
. A localização padrão mostrada na caixa de diálogo é a pasta mais recentemente navegada, se essa localização puder ser determinada, ou a área de trabalho. As classes não permitem operações de leitura ou gravação no arquivo transferido. Elas não permitem que o arquivo SWF que iniciou o upload ou o download acesse o arquivo carregado ou baixado ou a localização do arquivo no disco do usuário.
As classes FileReference e FileReferenceList também não fornecem métodos para autenticação. Com servidores que exigem autenticação, você pode baixar arquivos com o plug-in para navegador do Flash® Player, embora ocorra uma falha de upload (em todos os players) e de download (no player autônomo ou externo). Monitore eventos FileReference para determinar se as operações são concluídas com sucesso e para manipular os erros.
Para o conteúdo em execução no Flash Player ou no Adobe AIR fora da caixa de proteção do aplicativo, as operações de download e upload podem acessar os arquivos somente dentro de seu próprio domínio e em domínios especificados em um arquivo de diretivas de URL. Coloque um arquivo de diretivas em um servidor de arquivos caso o conteúdo que inicia o upload ou o download não seja proveniente do mesmo domínio do servidor de arquivos.
Observe que, em virtude da nova funcionalidade adicionada ao Flash Player, ao publicar no Flash Player 10, somente uma das seguintes operações poderá estar ativa por vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Caso contrário, o Flash Player lançará um erro de tempo de execução (código 2174). Use FileReference.cancel()
para interromper uma operação em andamento. Essa restrição se aplica apenas ao Flash Player 10. As versões anteriores do Flash Player não são afetadas por essa restrição em operações múltiplas simultâneas.
Enquanto as chamadas para os métodos FileReference.browse()
, FileReferenceList.browse()
ou FileReference.download()
estiverem em execução, a reprodução do arquivo SWF será pausada em versões autônomas e externas do Flash Player e no AIR para Linux e Mac OS X 10.1 e anterior.
A amostra a seguir de solicitação HTTP POST
será enviada do Flash Player a um script no lado do servidor se nenhum parâmetro for especificado:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
O Flash Player enviará a seguinte solicitação HTTP POST
se o usuário especificar os parâmetros "api_sig"
, "api_key"
e "auth_token"
:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
creationDate : Date [somente leitura]
A data de criação do arquivo no disco local. | FileReference | ||
creator : String [somente leitura]
O tipo de criador do arquivo Macintosh, usado somente nas versões do Mac OS anteriores ao Mac OS X. | FileReference | ||
data : ByteArray [somente leitura]
O objeto ByteArray que representa os dados do arquivo carregado após uma chamada bem-sucedida para o método load(). | FileReference | ||
extension : String [somente leitura]
A extensão do nome do arquivo. | FileReference | ||
modificationDate : Date [somente leitura]
A data da última modificação do arquivo no disco local. | FileReference | ||
name : String [somente leitura]
O nome do arquivo no disco local. | FileReference | ||
permissionStatus : String [estático] [somente leitura]
Determina se o aplicativo recebeu permissão para acessar o sistema de arquivos. | FileReference | ||
size : Number [somente leitura]
O tamanho do arquivo no disco local, em bytes. | FileReference | ||
type : String [somente leitura]
O tipo de arquivo. | FileReference |
Método | Definido por | ||
---|---|---|---|
Cria um novo objeto FileReference. | FileReference | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Exibe uma caixa de diálogo de navegação de arquivos que permite ao usuário selecionar um arquivo para upload. | FileReference | ||
Cancela qualquer operação de upload ou download em andamento neste objeto FileReference. | FileReference | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Abre uma caixa de diálogo que permite ao usuário baixar um arquivo a partir de um servidor remoto. | FileReference | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Inicia o carregamento de um arquivo local selecionado por um usuário. | FileReference | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Solicita permissão para acessar o sistema de arquivos. | FileReference | ||
Abre uma caixa de diálogo que permite ao usuário salvar um arquivo no sistema de arquivos local. | FileReference | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Inicia o upload do arquivo para um servidor remoto. | FileReference | ||
Inicia um upload de arquivo para um URL sem qualquer codificação. | FileReference | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
Evento | Resumo | Definido por | ||
---|---|---|---|---|
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado quando uma operação de upload ou download de arquivo é cancelada pelo usuário na caixa de diálogo de navegação de arquivos. | FileReference | |||
Despachado quando o download é concluído ou quando o upload gera um código de status HTTP de 200. | FileReference | |||
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado se uma chamada ao método upload() ou uploadUnencoded() tentar acessar os dados através de HTTP e o Adobe AIR for capaz de detectar e retornar o código de status para a solicitação. | FileReference | |||
Despachado quando ocorre uma falha de upload e um código de status HTTP está disponível para descrever a falha. | FileReference | |||
Despachado quando ocorre uma falha na operação de upload ou download. | FileReference | |||
Despachado quando uma operação de upload ou download é iniciada. | FileReference | |||
Será despachado quando o aplicativo solicitar permissão para acessar o sistema de arquivos. | FileReference | |||
Despachado periodicamente durante a operação de upload ou download de arquivos. | FileReference | |||
Despachado quando uma chamada ao método FileReference.upload() ou FileReference.download() tenta carregar um arquivo em um servidor ou obter um arquivo a partir de um servidor que está fora da área de segurança do chamador. | FileReference | |||
Despachado quando o usuário seleciona um arquivo para upload ou download a partir da caixa de diálogo de navegação de arquivos. | FileReference | |||
Despachado quando os dados são recebidos do servidor após um upload bem-sucedido. | FileReference |
creationDate | propriedade |
creationDate:Date
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A data de criação do arquivo no disco local. Se o objeto não tiver sido preenchido, uma chamada para obter o valor dessa propriedade retornará null
.
Observação: caso um sistema operacional não tenha creationDate
como sua propriedade, CreationDate
será igual a lastModifiedDate
.
Implementação
public function get creationDate():Date
Lança
IllegalOperationError — Se o método FileReference.browse() , FileReferenceList.browse() ou FileReference.download() não tiver sido chamado com êxito, uma exceção será lançada com uma mensagem indicando que as funções foram chamadas na sequência incorreta ou que uma chamada anterior não foi bem-sucedida. Nesse caso, o valor da propriedade creationDate será null .
| |
IOError — Se as informações do arquivo não puderem ser acessadas, uma exceção será lançada com uma mensagem indicando um erro de E/S de arquivo.
|
Elementos da API relacionados
creator | propriedade |
creator:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O tipo de criador do arquivo Macintosh, usado somente nas versões do Mac OS anteriores ao Mac OS X. No Windows ou no Linux, essa propriedade é null
. Se o objeto FileReference não tiver sido preenchido, uma chamada para obter o valor dessa propriedade retornará null
.
Implementação
public function get creator():String
Lança
IllegalOperationError — No Macintosh, se o método FileReference.browse() , FileReferenceList.browse() ou FileReference.download() não tiver sido chamado com êxito, uma exceção será lançada com uma mensagem indicando que as funções foram chamadas na sequência incorreta ou que uma chamada anterior não foi bem-sucedida. Nesse caso, o valor da propriedade creator será null .
|
Elementos da API relacionados
data | propriedade |
data:ByteArray
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
O objeto ByteArray que representa os dados do arquivo carregado após uma chamada bem-sucedida para o método load()
.
Implementação
public function get data():ByteArray
Lança
IllegalOperationError — Caso o método load() não tenha sido chamado com êxito, uma exceção é lançada com uma mensagem indicando que as funções foram chamadas na sequência incorreta ou que uma chamada anterior não foi bem-sucedida. Nesse caso, o valor da propriedade data será null .
| |
IOError — Se o arquivo não puder ser aberto ou lido, ou se um erro semelhante for encontrado ao acessar o arquivo, uma exceção será lançada com uma mensagem indicando um erro de E/S de arquivo. Nesse caso, o valor da propriedade data será null .
|
Elementos da API relacionados
extension | propriedade |
extension:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
A extensão do nome do arquivo.
A extensão de um arquivo é a parte seguinte ao nome (não incluindo) o ponto final ("."). Se não houver ponto no nome do arquivo, a extensão será null
.
Observação: É necessário usar a propriedade extension
para determinar o tipo de um arquivo; não use as propriedades creator
ou type
. As propriedades creator
e type
devem ser consideradas desaprovadas. Elas se aplicam a versões antigas do Mac OS.
Implementação
public function get extension():String
Lança
IllegalOperationError — Se a referência não for inicializada.
|
modificationDate | propriedade |
modificationDate:Date
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Player 9 |
A data da última modificação do arquivo no disco local. Se o objeto FileReference não tiver sido preenchido, uma chamada para obter o valor dessa propriedade retornará null
.
Implementação
public function get modificationDate():Date
Lança
IllegalOperationError — Se o método FileReference.browse() , FileReferenceList.browse() ou FileReference.download() não tiver sido chamado com êxito, uma exceção será lançada com uma mensagem indicando que as funções foram chamadas na sequência incorreta ou que uma chamada anterior não foi bem-sucedida. Nesse caso, o valor da propriedade modificationDate será null .
| |
IOError — Se as informações do arquivo não puderem ser acessadas, uma exceção será lançada com uma mensagem indicando um erro de E/S de arquivo.
|
Elementos da API relacionados
name | propriedade |
name:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O nome do arquivo no disco local. Se o objeto FileReference não foi preenchido (por uma chamada válida para FileReference.download()
ou para FileReference.browse()
), o Flash Player lança um erro ao tentar obter o valor dessa propriedade.
Todas as propriedades de um objeto FileReference são preenchidas por meio da chamada do método browse()
. Ao contrário de outras propriedades FileReference, se você chamar o método download()
, a propriedade name
será preenchida quando o evento select
for despachado.
Implementação
public function get name():String
Lança
IllegalOperationError — Se o método FileReference.browse() , FileReferenceList.browse() ou FileReference.download() não tiver sido chamado com êxito, uma exceção será lançada com uma mensagem indicando que as funções foram chamadas na sequência incorreta ou que uma chamada anterior não foi bem-sucedida.
|
Elementos da API relacionados
permissionStatus | propriedade |
size | propriedade |
size:Number
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O tamanho do arquivo no disco local, em bytes.
Observação: Na versão inicial do ActionScript 3.0, a propriedade size
foi definida como um objeto uint, que suporta arquivos com tamanhos de até 4 GB. É implementado agora como um objeto Number para ser compatível com arquivos maiores.
Implementação
public function get size():Number
Lança
IllegalOperationError — Se o método FileReference.browse() , FileReferenceList.browse() ou FileReference.download() não tiver sido chamado com êxito, uma exceção será lançada com uma mensagem indicando que as funções foram chamadas na sequência incorreta ou que uma chamada anterior não foi bem-sucedida.
| |
IOError — Se o arquivo não puder ser aberto ou lido, ou se um erro semelhante for encontrado ao acessar o arquivo, uma exceção será lançada com uma mensagem indicando um erro de E/S de arquivo.
|
Elementos da API relacionados
type | propriedade |
type:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O tipo de arquivo.
No Windows ou Linux, essa propriedade é a extensão do arquivo. No Macintosh, esta propriedade é do tipo de arquivo de quatro caracteres, usada somente nas versões anteriores a Mac OS X. Se o objeto FileReference não foi preenchido, uma chamada para obter o valor dessa propriedade retornará null
.
Para o Windows, o Linux e o Mac OS X, a extensão de arquivo, parte da propriedade name
que segue a última ocorrência do ponto (.) character — identifica o tipo de arquivo.
Implementação
public function get type():String
Lança
IllegalOperationError — Se o método FileReference.browse() , FileReferenceList.browse() ou FileReference.download() não tiver sido chamado com êxito, uma exceção será lançada com uma mensagem indicando que as funções foram chamadas na sequência incorreta ou que uma chamada anterior não foi bem-sucedida. Nesse caso, o valor da propriedade type será null .
|
Elementos da API relacionados
FileReference | () | Construtor |
public function FileReference()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cria um novo objeto FileReference. Quando preenchido, um objeto FileReference representa um arquivo no disco local do usuário.
Elementos da API relacionados
browse | () | método |
public function browse(typeFilter:Array = null):Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Exibe uma caixa de diálogo de navegação de arquivos que permite ao usuário selecionar um arquivo para upload. A caixa de diálogo é nativa para o sistema operacional do usuário. O usuário pode selecionar um arquivo no computador local ou de outros sistemas; por exemplo, através de um caminho UNC no Windows.
Observe: A classe File, disponível no Adobe AIR, inclui métodos para acessar caixas de diálogo de seleção de arquivo do sistema mais específicas. Estes métodos são File.browseForDirectory()
, File.browseForOpen()
, File.browseForOpenMultiple()
e File.browseForSave()
.
Quando você chamar esse método e o usuário selecionar com êxito um arquivo, as propriedades desse objeto FileReference serão preenchidas com as propriedades desse arquivo. Subsequentemente, sempre que o método FileReference.browse()
for chamado, as propriedades do objeto FileReference serão redefinidas para o arquivo selecionado pelo usuário na caixa de diálogo. Apenas uma sessão de browse()
ou download()
pode ser realizada por vez (porque apenas uma caixa de diálogo pode ser invocada por vez).
Usando o parâmetro typeFilter
, você pode determinar quais arquivos são exibidos pela caixa de diálogo.
No Flash Player 10 e no Flash Player 9 Update 5, você só pode chamar esse método com êxito em resposta a um evento de usuário (por exemplo, no manipulador de eventos de um clique do mouse ou um evento de pressionamento de tecla). Do contrário, chamar esse método resulta no lançamento de uma exceção de erro pelo Flash Player.
Observe que, em virtude da nova funcionalidade adicionada ao Flash Player, ao publicar no Flash Player 10, somente uma das seguintes operações poderá estar ativa por vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Caso contrário, o Flash Player lançará um erro de tempo de execução (código 2174). Use FileReference.cancel()
para interromper uma operação em andamento. Essa restrição se aplica apenas ao Flash Player 10. As versões anteriores do Flash Player não são afetadas por essa restrição em operações múltiplas simultâneas.
No Adobe AIR, a caixa de diálogo de navegação no arquivo nem sempre é exibida na frente das janelas subordinadas a outra janela (janelas cuja propriedade owner
não é nula). Para evitar problema de ordenação de janelas, oculte as janelas subordinadas antes de chamar este método.
Parâmetros
typeFilter:Array (default = null ) — Uma matriz de ocorrências de FileFilter usadas para filtrar os arquivos que são exibidos na caixa de diálogo. Se você omitir esse parâmetro, todos os arquivos serão exibidos. Para obter mais informações, consulte a classe FileFilter.
|
Boolean — Retornará true se os parâmetros forem válidos e se a caixa de diálogo de navegação de arquivos for aberta.
|
Eventos
select: — Despachado quando o usuário seleciona com êxito um item a partir do seletor de arquivos em Procurar.
| |
cancel: — Despachado quando o usuário cancela o upload de arquivo na janela Procurar.
|
Lança
IllegalOperationError — Lançada nas seguintes situações: 1) Outra sessão de navegação de FileReference ou FileReferenceList está em progresso; apenas uma sessão de navegação de arquivo pode ser desempenhada de cada vez. 2) Uma configuração no arquivo mms.cfg do usuário proíbe essa operação.
| |
ArgumentError — Se a matriz typeFilter contiver objetos FileFilter incorretamente formatados, uma exceção será lançada. Para obter informações sobre o formato correto de objetos FileFilter, consulte a classe FileFilter.
| |
Error — Se o método não for chamado em resposta a uma ação do usuário, por exemplo, um evento de mouse ou de pressionamento de tecla.
|
Elementos da API relacionados
evento cancel
FileReference.download()
FileReferenceList.browse()
File.browseForDirectory()
File.browseForOpen()
File.browseForOpenMultiple()
File.browseForSave()
cancel | () | método |
public function cancel():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cancela qualquer operação de upload ou download em andamento neste objeto FileReference. Cancelar esse método não despacha o evento cancel
, que somente é despachado quando o usuário cancela a operação descartando a caixa de diálogo de upload ou download de arquivo.
download | () | método |
public function download(request:URLRequest, defaultFileName:String = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Abre uma caixa de diálogo que permite ao usuário baixar um arquivo a partir de um servidor remoto. Embora o Flash Player não tenha restrição sobre o tamanho dos arquivos que você pode carregar ou baixar, o player oferece suporte oficialmente para uploads ou downloads de até 100 MB.
O método download()
abre primeiro uma caixa de diálogo do sistema operacional que solicita que o usuário insira um nome de arquivo e selecione uma localização no computador local para salvar o arquivo. Quando o usuário selecionar uma localização e confirmar a operação de download (por exemplo, clicando em Salvar), o download do servidor remoto será iniciado. Os ouvintes recebem eventos para indicar o progresso, o êxito ou a falha do download. Para avaliar o status da caixa de diálogo e da operação de download depois de chamar download()
, seu código deve monitorar eventos como cancel
, open
, progress
e complete
.
As funções FileReference.upload()
e FileReference.download()
são do tipo sem bloqueio. Elas são retornadas depois de serem chamadas, antes da conclusão da transmissão do arquivo. Além disso, se o objeto FileReference sair do escopo, todas as operações de upload ou download ainda não concluídas nesse objeto serão canceladas após a saída do escopo. Certifique-se de que o seu objeto FileReference permaneça em escopo pelo tempo estimado de continuação do upload ou download.
Quando o arquivo for baixado com êxito, as propriedades do objeto FileReference serão preenchidas com as propriedades do arquivo local. O evento complete
será despachado se o download for bem-sucedido.
Apenas uma sessão de browse()
ou download()
pode ser realizada por vez (porque apenas uma caixa de diálogo pode ser invocada por vez).
Esse método oferece suporte ao download de qualquer tipo de arquivo, com HTTP ou HTTPS.
Não é possível conectar-se às portas normalmente reservadas. Para ver uma lista completa de portas bloqueadas, consulte "Restrição de APIs de rede" no Guia do Desenvolvedor do ActionScript 3.0.
Observação: se o seu servidor exigir a autenticação do usuário, apenas os aplicativos Flash em execução em um navegador (ou seja, que utilizam plug-in para navegador ou controle ActiveX), poderão fornecer uma caixa de diálogo para solicitar que o usuário insira um nome e uma senha para autenticação e, então, somente para downloads. No caso de uploads usando o plug-in ou o controle ActiveX, ou de uploads ou downloads usando o player autônomo ou externo, ocorre uma falha na transferência de arquivos.
Ao usar esse método, considere o modelo de segurança do Flash Player:
- Operações de carregamento não serão permitidas se o arquivo SWF de chamada estiver em uma caixa de proteção local não confiável.
- O comportamento padrão é negar o acesso entre caixas de proteção. Um site da Web pode permitir o acesso a um recurso adicionando um arquivo de diretivas de URL.
- Você pode impedir o arquivo SWF de usar esse método configurando o parâmetro
allowNetworking
das marcasobject
eembed
na página HTML com o conteúdo SWF. - No Flash Player 10 e no Flash Player 9 Update 5, você só pode chamar esse método com êxito em resposta a um evento de usuário (por exemplo, no manipulador de eventos de um clique do mouse ou um evento de pressionamento de tecla). Do contrário, chamar esse método resulta no lançamento de uma exceção de erro pelo Flash Player.
Contudo, no Adobe AIR, o conteúdo na área de segurança do aplicativo
(conteúdo instalado com o aplicativo AIR) não é restrito por essas limitações de segurança.
Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.
Quando você baixa um arquivo que usa este método, ele é marcado como baixado em sistemas operacionais que sinalizam arquivos baixados:
- Windows XP Service Pack 2 e versões posteriores e no Windows Vista
- SO Mac 10.5 e posterior
Alguns sistemas operacionais, como Linux, não sinalizam arquivos baixados.
Observe que, em virtude da nova funcionalidade adicionada ao Flash Player, ao publicar no Flash Player 10, somente uma das seguintes operações poderá estar ativa por vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Caso contrário, o Flash Player lançará um erro de tempo de execução (código 2174). Use FileReference.cancel()
para interromper uma operação em andamento. Essa restrição se aplica apenas ao Flash Player 10. As versões anteriores do Flash Player não são afetadas por essa restrição em operações múltiplas simultâneas.
No Adobe AIR, a caixa de diálogo de download nem sempre é exibida na frente das janelas subordinadas a outra janela (janelas cuja propriedade owner
não é nula). Para evitar problema de ordenação de janelas, oculte as janelas subordinadas antes de chamar este método.
Parâmetros
request:URLRequest — O objeto URLRequest. A propriedade url do objeto URLRequest deve conter a URL do arquivo a ser baixado no computador local. Se esse parâmetro for null , será lançada uma exceção. A propriedade requestHeaders do objeto URLRequest é ignorada; cabeçalhos personalizados de solicitação HTTP não são suportados em uploads ou downloads. Para enviar parâmetros POST ou GET ao servidor, defina o valor de URLRequest.data para os seus parâmetros e defina URLRequest.method como URLRequestMethod.POST ou URLRequestMethod.GET .
Em alguns navegadores, as strings de URL apresentam limitações de comprimento. Comprimentos superiores a 256 caracteres podem falhar em alguns navegadores ou servidores. | |
defaultFileName:String (default = null ) — O nome de arquivo padrão exibido na caixa de diálogo do arquivo a ser baixado. Essa string não deve conter os seguintes caracteres: / \ : * ? " < > | %
Se você omitir esse parâmetro, o nome de arquivo da URL remota será analisado e usado como padrão. |
Eventos
open: — Despachado quando uma operação de download é iniciada.
| |
progress: — Despachado periodicamente durante a operação de download de arquivos.
| |
complete: — Despachado quando a operação de download de arquivos é concluída.
| |
cancel: — Despachado quando o usuário descarta a caixa de diálogo.
| |
select: — Despachado quando o usuário seleciona um arquivo para download a partir da caixa de diálogo.
| |
securityError: — Despachado quando há uma falha no download devido a um erro de segurança.
| |
ioError: — Despachado por quaisquer das seguintes razões:
|
Lança
IllegalOperationError — Lançada nas seguintes situações: 1) Outra sessão de navegação está em andamento; apenas uma sessão de navegação de arquivo pode ser executada por vez. 2) O valor transmitido a request não contém um caminho ou protocolo válido. 3) O nome do arquivo para download contém caracteres proibidos. 4) Uma configuração no arquivo mms.cfg do usuário proíbe essa operação.
| |
SecurityError — O conteúdo local não confiável pode não se comunicar com a Internet. Para evitar essa situação, reclassifique esse arquivo SWF como local com rede ou confiável. Essa exceção é lançada com uma mensagem indicando o nome de arquivo e a URL que não pode ser acessada devido a restrições de segurança de arquivo locais.
| |
SecurityError — Não é possível conectar-se às portas normalmente reservadas. Para ver uma lista completa de portas bloqueadas, consulte "Restrição de APIs de rede" no Guia do Desenvolvedor do ActionScript 3.0.
| |
ArgumentError — Se url.data for do tipo ByteArray, uma exceção será lançada. Para uso com os métodos FileReference.upload() e FileReference.download() , url.data apenas pode ser do tipo URLVariables ou String.
| |
MemoryError — Esse erro pode ocorrer pelos seguintes motivos: 1) O Flash Player não consegue converter o parâmetro URLRequest.data de UTF8 em MBCS. Esse erro será aplicável se o objeto URLRequest transmitido ao método FileReference.download() estiver definido de modo a realizar uma operação GET e se System.useCodePage estiver definido como true . 2) O Flash Player não consegue alocar memória para os dados POST . Esse erro será aplicável se o objeto URLRequest transmitido ao método FileReference.download() estiver definido de modo a realizar uma operação POST .
| |
Error — Se o método não for chamado em resposta a uma ação do usuário, por exemplo, um evento de mouse ou de pressionamento de tecla.
|
Elementos da API relacionados
FileReference.browse()
FileReferenceList.browse()
FileReference.upload()
FileReference.save()
Exemplo ( Como usar este exemplo )
download
. Para executar esse exemplo, altere a propriedade downloadURL.url
de forma que ela aponte para um domínio e arquivo reais, em vez da URL fictícia http://www.[yourDomain].com/SomeFile.pdf. Talvez também seja necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente a rede ou atualizar as configurações de segurança do Flash Player para permitir esse acesso de rede ao arquivo.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; public class FileReference_download extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_download() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
load | () | método |
public function load():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Inicia o carregamento de um arquivo local selecionado por um usuário. Embora o Flash Player não tenha restrição sobre o tamanho dos arquivos que você pode carregar, baixar ou salvar, ele oferece suporte oficialmente até 100 MB. Para o conteúdo em execução no Flash Player, você deve chamar o método FileReference.browse()
ou FileReferenceList.browse()
antes de chamar o método load()
. No entanto, o conteúdo em execução no AIR na área de segurança do aplicativo pode chamar o método load()
de um objeto File sem antes chamar o método browse()
. (A classe File do AIR estende a classe FileReference.)
Os ouvintes recebem eventos para indicar o andamento, o êxito ou a falha do carregamento. Embora possa usar o objeto FileReferenceList para permitir que os usuários selecionem vários arquivos a serem carregados, você deve carregar os arquivos um a um. Para carregar os arquivos um a um, itere a matriz FileReferenceList.fileList
dos objetos FileReference.
O Adobe AIR também inclui a classe FileStream que fornece mais opções para ler arquivos.
As funções FileReference.upload()
, FileReference.download()
, FileReference.load()
e FileReference.save()
não são bloqueadoras. Elas são retornadas depois de serem chamadas, antes da conclusão da transmissão do arquivo. Além disso, se o objeto FileReference sair do escopo, todas as transações ainda não concluídas nesse objeto serão canceladas depois que ele sair do escopo. Certifique-se de que o objeto FileReference permaneça no escopo enquanto as ações de salvar, carregar, fazer upload e download estiverem sendo executadas.
Caso a conclusão do arquivo seja concluída com êxito, o conteúdo é armazenado como uma matriz de bytes na propriedade data
do objeto FileReference.
As considerações de segurança a seguir se aplicam:
- Operações de carregamento não serão permitidas se o arquivo SWF de chamada estiver em uma caixa de proteção local não confiável.
- O comportamento padrão é negar o acesso entre caixas de proteção. Um site da Web pode permitir o acesso a um recurso adicionando um arquivo de diretivas entre domínios.
- Você pode impedir o arquivo de usar esse método configurando o parâmetro
allowNetworking
das marcasobject
eembed
na página HTML com o conteúdo SWF.
No entanto, essas considerações não se aplicam ao conteúdo do AIR na área de segurança do aplicativo.
Observe que, ao publicar no Flash Player 10 ou no AIR 1.5, você pode ter apenas uma das seguintes operações ativas por vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Do contrário, o aplicativo lança um erro de tempo de execução (código 2174). Use FileReference.cancel()
para interromper uma operação em andamento. Essa restrição se aplica apenas ao Flash Player 10 e ao AIR 1.5. As versões anteriores do Flash Player ou do AIR não são afetadas por essa restrição em operações múltiplas simultâneas.
No Adobe AIR, a caixa de diálogo de navegação no arquivo nem sempre é exibida na frente das janelas subordinadas a outra janela (janelas cuja propriedade owner
não é nula). Para evitar problema de ordenação de janelas, oculte as janelas subordinadas antes de chamar este método.
Eventos
open: — Despachado quando uma operação de carregamento é iniciada.
| |
progress: — Despachado periodicamente durante a operação de carregamento de arquivos.
| |
complete: — Despachado quando a operação de carregamento de arquivos é concluída com êxito.
| |
ioError: — Invocado caso haja falha no carregamento por conta de um erro de entrada/saída durante a leitura ou a gravação do arquivo pelo aplicativo.
|
Lança
IllegalOperationError — Lançada nas seguintes situações: 1) Outra sessão de navegação de FileReference ou FileReferenceList está em progresso; apenas uma sessão de navegação de arquivo pode ser desempenhada de cada vez. 2) Uma configuração no arquivo mms.cfg do usuário proíbe essa operação.
| |
MemoryError — Esse erro pode ocorrer caso o aplicativo não consiga alocar memória para o arquivo. O arquivo pode ser muito grande ou ter pouca memória disponível.
|
Elementos da API relacionados
FileReferenceList.browse()
FileReference.data
FileReferenceList.fileList
FileReference.save()
FileStream
Exemplo ( Como usar este exemplo )
var buttonShape:Shape = new Shape(); buttonShape.graphics.beginFill(0x336699); buttonShape.graphics.drawCircle(50, 50, 25); var button = new SimpleButton(buttonShape, buttonShape, buttonShape, buttonShape); addChild(button); var fileRef:FileReference= new FileReference(); button.addEventListener(MouseEvent.CLICK, onButtonClick); function onButtonClick(e:MouseEvent):void { fileRef.browse([new FileFilter("Images", "*.jpg;*.gif;*.png")]); fileRef.addEventListener(Event.SELECT, onFileSelected); } function onFileSelected(e:Event):void { fileRef.addEventListener(Event.COMPLETE, onFileLoaded); fileRef.load(); } function onFileLoaded(e:Event):void { var loader:Loader = new Loader(); loader.loadBytes(e.target.data); addChild(loader); }
requestPermission | () | método |
public function requestPermission():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 24.0 |
Solicita permissão para acessar o sistema de arquivos.
Eventos
PermissionStatus: — despachado quando a permissão solicitada é concedida/negada pelo usuário.
|
save | () | método |
public function save(data:*, defaultFileName:String = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Abre uma caixa de diálogo que permite ao usuário salvar um arquivo no sistema de arquivos local. Embora o Flash Player não tenha restrições sobre o tamanho dos arquivos que você pode salvar, carregar, fazer upload e download, o player oferece suporte oficialmente a tamanhos de até 100 MB.
O método save()
abre primeiro uma caixa de diálogo do sistema operacional que solicita que o usuário insira um nome de arquivo e selecione uma localização no computador local para salvar o arquivo. Quando o usuário selecionar uma localização e confirmar a operação de salvamento (por exemplo, clicando em Salvar), o processo será iniciado. Os ouvintes recebem eventos para indicar o andamento, o êxito ou a falha da operação de salvamento. Para avaliar o status da caixa de diálogo e da operação de salvamento depois de chamar save()
, o código deve monitorar eventos como cancel
, open
, progress
e complete
.
O Adobe AIR também inclui a classe FileStream que fornece mais opções de salvar arquivos localmente.
As funções FileReference.upload()
, FileReference.download()
, FileReference.load()
e FileReference.save()
não são bloqueadoras. Elas são retornadas depois de serem chamadas, antes da conclusão da transmissão do arquivo. Além disso, se o objeto FileReference sair do escopo, todas as transações ainda não concluídas nesse objeto serão canceladas depois que ele sair do escopo. Certifique-se de que o objeto FileReference permaneça no escopo enquanto as ações de salvar, carregar, fazer upload e download estiverem sendo executadas.
Quando o arquivo for salvo com êxito, as propriedades do objeto FileReference serão preenchidas com as propriedades do arquivo local. O evento complete
será despachado se o salvamento for bem-sucedido.
Só é possível realizar uma sessão de browse()
ou save()
por vez (pois só é possível chamar uma caixa de diálogo por vez).
No Flash Player, você só pode chamar esse método com êxito em resposta a um evento de usuário (por exemplo, no manipulador de eventos de um clique do mouse ou um evento de pressionamento de tecla). Do contrário, chamar esse método resulta no lançamento de uma exceção de erro pelo Flash Player. Essa limitação não se aplica ao conteúdo do AIR na área de segurança do aplicativo.
No Adobe AIR, a caixa de diálogo Salvar nem sempre é exibida na frente das janelas subordinadas a outra janela (janelas cuja propriedade owner
não é nula). Para evitar problema de ordenação de janelas, oculte as janelas subordinadas antes de chamar este método.
Parâmetros
data:* — Os dados que devem ser salvos. Os dados podem ter vários formatos e serão tratados de forma apropriada:
| |
defaultFileName:String (default = null ) — O nome de arquivo padrão exibido na caixa de diálogo do arquivo a ser salvo. Essa string não deve conter os seguintes caracteres: / \ : * ? " < > | %
Se um objeto File chamar esse método, o nome de arquivo será o do arquivo referenciado pelo objeto File. (A classe File do AIR estende a classe FileReference.) |
Eventos
open: — Despachado quando uma operação de download é iniciada.
| |
progress: — Despachado periodicamente durante a operação de download de arquivos.
| |
complete: — Despachado quando a operação de download de arquivos é concluída.
| |
cancel: — Despachado quando o usuário descarta a caixa de diálogo.
| |
select: — Despachado quando o usuário seleciona um arquivo para download a partir da caixa de diálogo.
| |
ioError: — Despachado se um erro de entrada/saída ocorrer enquanto o arquivo estiver sendo lido ou transmitido.
|
Lança
IllegalOperationError — Lançada nas seguintes situações: 1) Outra sessão de navegação está em andamento; apenas uma sessão de navegação de arquivo pode ser executada por vez. 2) O nome do arquivo para download contém caracteres proibidos. 3) Uma configuração no arquivo mms.cfg do usuário proíbe essa operação.
| |
ArgumentError — Se data não for do tipo ByteArray e não possuir um método toString() , uma exceção será lançada. Se data não for do tipo XML e não possuir um método toXMLString() , uma exceção será lançada.
| |
Error — Se o método não for chamado em resposta a uma ação do usuário, por exemplo, um evento de mouse ou de pressionamento de tecla.
| |
MemoryError — Esse erro poderá ocorrer se o Flash Player não conseguir alocar memória para o arquivo. O arquivo pode ser muito grande ou ter pouca memória disponível.
|
Elementos da API relacionados
FileReference.load()
FileReference.data
FileReference.upload()
FileReference.download()
FileStream
Exemplo ( Como usar este exemplo )
MyTextField
) e outro campo de texto que não é editável (MyButtonField
) para servir como "botão" para responder ao clique do mouse. Um usuário pode editar o primeiro campo de texto e clicar no botão para salvar os conteúdos de campo de texto em um arquivo local. O manipulador de eventos de clique do mouse clickhandler
usa o método FileReference.save()
(para um objeto FileReference denominado MyFileReference
) para abrir uma caixa de diálogo no sistema operacional atual do usuário, para que o usuário possa salvar o conteúdo em um arquivo local com o nome fornecido pelo usuário.
var MyTextField:TextField = new TextField(); var MyButtonField:TextField = new TextField(); var MyFile:FileReference = new FileReference(); MyTextField.border = true; MyTextField.type = TextFieldType.INPUT; MyButtonField.background = true; MyButtonField.backgroundColor = 0x339933; MyButtonField.x = 150; MyButtonField.height = 20; MyButtonField.text = "Click here to save"; addChild(MyTextField); addChild(MyButtonField); MyButtonField.addEventListener(MouseEvent.CLICK, clickhandler); function clickhandler(e:MouseEvent): void { MyFile.save(MyTextField.text); }
upload | () | método |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Inicia o upload do arquivo para um servidor remoto. Embora o Flash Player não tenha restrição sobre o tamanho dos arquivos que você pode carregar ou baixar, o player oferece suporte oficialmente para uploads ou downloads de até 100 MB. É necessário chamar o método FileReference.browse()
ou FileReferenceList.browse()
antes de chamar esse método.
Para a classe de Arquivo de Adobe AIR, que estende a classe FileReference, você pode usar o método upload()
para transferir qualquer arquivo. Para a classe FileReference (usado em Flash Player), o usuário deve selecionar primeiro um arquivo.
Os ouvintes recebem eventos para indicar o progresso, o êxito ou a falha do upload. Embora você possa usar o objeto FileReferenceList para permitir que os usuários selecionem vários arquivos para upload, esses arquivos precisam ser carregados um por um. Para tanto, faça uma iteração por meio da matriz FileReferenceList.fileList
de objetos FileReference.
As funções FileReference.upload()
e FileReference.download()
são do tipo sem bloqueio. Elas são retornadas depois de serem chamadas, antes da conclusão da transmissão do arquivo. Além disso, se o objeto FileReference sair do escopo, todas as operações de upload ou download ainda não concluídas nesse objeto serão canceladas após a saída do escopo. Certifique-se de que o seu objeto FileReference permaneça em escopo pelo tempo estimado de continuação do upload ou download.
O arquivo é carregado para a URL transmitida no parâmetro url
. Essa URL deve ser um script de servidor configurado para aceitar uploads. O Flash Player carrega arquivos usando o método HTTP POST
. O script de servidor que manipula o upload deve esperar uma solicitação POST
com os seguintes elementos:
Content-Type
demultipart/form-data
Content-Disposition
com um atributoname
definido como"Filedata"
por padrão e um atributofilename
definido como o nome do arquivo original- O conteúdo binário do arquivo
Não é possível conectar-se às portas normalmente reservadas. Para ver uma lista completa de portas bloqueadas, consulte "Restrição de APIs de rede" no Guia do Desenvolvedor do ActionScript 3.0.
Para ver uma amostra de solicitação POST
, consulte a descrição do parâmetro uploadNomeCampoDados
. Você pode enviar parâmetros POST
ou GET
ao servidor com o método upload()
; consulte a descrição do parâmetro request
.
Se o parâmetro testarUpload
for true
e o arquivo a ser carregado for maior do que aproximadamente 10 KB, o Flash Player no Windows enviará primeiro uma operação POST
de upload de teste sem conteúdo antes de carregar o arquivo real, para verificar se há chances de êxito na transmissão. O Flash Player enviará então uma segunda operação POST
que inclui o conteúdo do arquivo real. Para arquivos com menos de 10 KB, o Flash Player realiza um único POST
de upload com o conteúdo do arquivo real a ser carregado. O Flash Player no Macintosh não realiza operações POST
de upload de teste.
Observação: se o seu servidor exigir a autenticação do usuário, apenas os aplicativos Flash em execução em um navegador (ou seja, que utilizam plug-in para navegador ou controle ActiveX), poderão fornecer uma caixa de diálogo para solicitar que o usuário insira um nome e uma senha para autenticação e, então, somente para downloads. No caso de uploads usando o plug-in ou o controle ActiveX, ou de uploads ou downloads usando o player autônomo ou externo, ocorre uma falha na transferência de arquivos.
Ao usar esse método, considere o modelo de segurança do Flash Player:
- Operações de carregamento não serão permitidas se o arquivo SWF de chamada estiver em uma caixa de proteção local não confiável.
- O comportamento padrão é negar o acesso entre caixas de proteção. Um site da Web pode permitir o acesso a um recurso adicionando um arquivo de diretivas de URL.
- Você pode impedir o arquivo SWF de usar esse método configurando o parâmetro
allowNetworking
das marcasobject
eembed
na página HTML com o conteúdo SWF.
Contudo, no Adobe AIR, o conteúdo na caixa de proteção de segurança application
(conteúdo instalado com o Adobe AIR) não é restringido por essas limitações de segurança.
Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.
Observe que, em virtude da nova funcionalidade adicionada ao Flash Player, ao publicar no Flash Player 10, somente uma das seguintes operações poderá estar ativa por vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Caso contrário, o Flash Player lançará um erro de tempo de execução (código 2174). Use FileReference.cancel()
para interromper uma operação em andamento. Essa restrição se aplica apenas ao Flash Player 10. As versões anteriores do Flash Player não são afetadas por essa restrição em operações múltiplas simultâneas.
Parâmetros
request:URLRequest — O objeto URLRequest; a propriedade url do objeto URLRequest deve conter a URL do script de servidor configurado para lidar com o upload via chamadas HTTP POST . Em alguns navegadores, as strings de URL apresentam limitações de comprimento. Comprimentos superiores a 256 caracteres podem falhar em alguns navegadores ou servidores. Se esse parâmetro for null , será lançada uma exceção. A propriedade requestHeaders do objeto URLRequest é ignorada; cabeçalhos personalizados de solicitação HTTP não são suportados em uploads ou downloads.
A URL pode ser HTTP ou, para uploads seguros, HTTPS. Para usar HTTPS, use uma url HTTPS no parâmetro Para enviar parâmetros | |
uploadDataFieldName:String (default = "Filedata ") — O nome do campo que precede os dados do arquivo na operação POST de upload. O valor de uploadNomeCampoDados deve ser diferente de nulo e uma String não vazia. Por padrão, o valor de uploadNomeCampoDados é "Filedata" , como na amostra de solicitação POST a seguir:
Content-Type: multipart/form-data; boundary=AaB03x --AaB03x Content-Disposition: form-data; name="Filedata"; filename="example.jpg" Content-Type: application/octet-stream ... contents of example.jpg ... --AaB03x-- | |
testUpload:Boolean (default = false ) — Uma configuração para solicitar um upload de arquivo de teste. Se testarUpload for true , para arquivos com mais de 10 KB, o Flash Player tentará um POST de upload de arquivo de teste com Content-Length de 0. O upload de teste verifica se o upload do arquivo real será concluído com êxito e se a autenticação do servidor, se necessária, será bem-sucedida. Um upload de teste apenas está disponível para players do Windows.
|
Eventos
open: — Despachado quando uma operação de upload é iniciada.
| |
progress: — Despachado periodicamente durante a operação de upload de arquivos.
| |
complete: — Despachado quando a operação de upload de arquivos é concluída com êxito.
| |
uploadCompleteData: — Despachado quando os dados são recebidos do servidor após um upload de arquivo bem-sucedido.
| |
securityError: — Despachado quando há uma falha no upload devido a uma violação de segurança.
| |
httpStatus: — Despachado quando há uma falha no upload devido a um erro HTTP.
| |
httpResponseStatus: — A operação de upload foi concluída com êxito e o servidor retorna um URL e cabeçalhos de resposta.
| |
ioError: — Chamado em quaisquer das seguintes situações:
|
Lança
SecurityError — Os arquivos SWF locais não confiáveis não podem se comunicar com a Internet. Para evitar essa situação, reclassifique esse arquivo SWF como local com rede ou confiável. Essa exceção é lançada com uma mensagem indicando o nome do arquivo local e a URL que não pode ser acessada.
| |
SecurityError — Não é possível conectar-se às portas normalmente reservadas. Para ver uma lista completa de portas bloqueadas, consulte "Restrição de APIs de rede" no Guia do Desenvolvedor do ActionScript 3.0.
| |
IllegalOperationError — Lançada nas seguintes situações: 1) Outra sessão de navegação de FileReference ou FileReferenceList está em progresso; apenas uma sessão de navegação de arquivo pode ser desempenhada de cada vez. 2) O parâmetro URL não é um protocolo ou caminho válido. O upload de arquivo deve usar HTTP e o download, FTP ou HTTP. 3) O parâmetro uploadNomeCampoDados está definido como null . 4) Uma configuração no arquivo mms.cfg do usuário proíbe essa operação.
| |
ArgumentError — Lançada nas seguintes situações: 1) O parâmetro uploadDataFieldName é uma string vazia. 2) url.data é do tipo ByteArray. Para uso com os métodos FileReference.upload() e FileReference.download() , url.data apenas pode ser do tipo URLVariables ou String. 3) No tempo de execução do AIR (na caixa de proteção de aplicativo), o método URLRequest não é GET ou POST (em vez disso, use uploadEncoded() ).
| |
MemoryError — Esse erro pode ocorrer pelos seguintes motivos: 1) O Flash Player não consegue converter o parâmetro URLRequest.data de UTF8 em MBCS. Esse erro será aplicável se o objeto URLRequest transmitido ao método FileReference.upload() estiver definido de modo a realizar uma operação GET e se System.useCodePage estiver definido como true . 2) O Flash Player não consegue alocar memória para os dados POST . Esse erro será aplicável se o objeto URLRequest transmitido ao método FileReference.upload() estiver definido de modo a realizar uma operação POST .
|
Elementos da API relacionados
uploadUnencoded | () | método |
public function uploadUnencoded(request:URLRequest):void
Versões de runtime: | AIR 1.0 |
Inicia um upload de arquivo para um URL sem qualquer codificação. Independentemente de o método upload()
codificar um arquivo em um form-data envelope, o método uploadUnencoded()
passa o conteúdo do arquivo como um corpo de solicitação HTTP. Use o método uploadUnencoded() caso os dados a serem despachados estejam já codificados em um formato que possa ser compreendido pelo servidor receptor. Normalmente, o método uploadeUnencoded()
é usado com o método HTTP/WebDAV PUT
.
Parâmetros
request:URLRequest — O objeto URLRequest; a propriedade url do objeto URLRequest deve conter a URL do script de servidor configurado para lidar com o upload via chamadas HTTP POST . Em alguns navegadores, as strings de URL apresentam limitações de comprimento. Comprimentos superiores a 256 caracteres podem falhar em alguns navegadores ou servidores. Se esse parâmetro for null , uma exceção será lançada.
A URL pode ser HTTP ou, para uploads seguros, HTTPS. Para usar HTTPS, use uma url HTTPS no parâmetro Para enviar parâmetros |
Eventos
open: — Despachado quando uma operação de upload é iniciada.
| |
progress: — Despachado periodicamente durante a operação de upload de arquivos.
| |
complete: — Despachado quando a operação de upload de arquivos é concluída com êxito.
| |
uploadCompleteData: — Despachado quando os dados são recebidos do servidor após um upload de arquivo bem-sucedido.
| |
securityError: — Despachado quando há uma falha no upload devido a uma violação de segurança.
| |
httpStatus: — Despachado quando há uma falha no upload devido a um erro HTTP.
| |
httpResponseStatus: — A operação de upload foi concluída com êxito e o servidor retorna um URL e cabeçalhos de resposta.
| |
ioError: — Chamado em quaisquer das seguintes situações:
|
Lança
SecurityError — Os arquivos SWF locais não confiáveis não podem se comunicar com a Internet. Para evitar essa situação, reclassifique esse arquivo SWF como local com rede ou confiável. Essa exceção é lançada com uma mensagem indicando o nome do arquivo local e a URL que não pode ser acessada.
| |
IllegalOperationError — Lançada nas seguintes situações: 1) Outra sessão de navegação de FileReference ou FileReferenceList está em progresso; apenas uma sessão de navegação de arquivo pode ser desempenhada de cada vez. 2) O parâmetro URL não é um protocolo ou caminho válido. O upload de arquivo deve usar HTTP.
|
Elementos da API relacionados
cancel | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.CANCEL
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando uma operação de upload ou download de arquivo é cancelada pelo usuário na caixa de diálogo de navegação de arquivos. O Flash Player não despachará esse evento se o usuário cancelar um upload ou download de outras maneiras (fechando o navegador ou interrompendo o aplicativo atual).
A constanteEvent.CANCEL
define o valor da propriedade type
de um objeto de evento cancel
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | Uma referência ao objeto no qual a operação é cancelada. |
Exemplo ( Como usar este exemplo )
cancel
. Para executar esse exemplo, altere a propriedade downloadURL.url
de forma que ela aponte para um domínio e arquivo reais, em vez da URL fictícia http://www.[yourDomain].com/SomeFile.pdf. Talvez também seja necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente a rede ou atualizar as configurações de segurança do Flash Player para permitir esse acesso de rede ao arquivo.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_cancel extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_cancel() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); file.addEventListener(Event.CANCEL, cancelHandler); file.download(downloadURL, fileName); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } } }
complete | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.COMPLETE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando o download é concluído ou quando o upload gera um código de status HTTP de 200. No caso do download de arquivos, esse evento é despachado quando o Flash Player ou o Adobe AIR finaliza o download do arquivo inteiro em disco. No caso do upload de arquivos, esse evento é despachado depois que o Flash Player ou o Adobe AIR recebe um código de status HTTP de 200 do servidor que recebe a transmissão.
A constanteEvent.COMPLETE
define o valor da propriedade type
de um objeto de evento complete
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto de rede que concluiu o carregamento. |
Exemplo ( Como usar este exemplo )
complete
. Para executar esse exemplo, altere a propriedade downloadURL.url
de forma que ela aponte para um domínio e arquivo reais, em vez da URL fictícia http://www.[yourDomain].com/SomeFile.pdf. Talvez também seja necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente a rede ou atualizar as configurações de segurança do Flash Player para permitir esse acesso de rede ao arquivo.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_complete extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_complete() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
Elementos da API relacionados
httpResponseStatus | Evento |
flash.events.HTTPStatusEvent
propriedade HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, AIR 1.0 |
Despachado se uma chamada ao método upload()
ou uploadUnencoded()
tentar acessar os dados através de HTTP e o Adobe AIR for capaz de detectar e retornar o código de status para a solicitação.
httpStatus
, o evento httpResponseStatus
é entregue antes de qualquer dado de resposta. O evento httpResponseStatus
inclui valores para as propriedades responseHeaders
e responseURL
(que estão indefinidas para um evento httpStatus
. Observe que o evento httpResponseStatus
(se houver) será despachado antes (e além de) qualquer evento complete
ou error
.
A constante HTTPStatusEvent.HTTP_RESPONSE_STATUS
define o valor da propriedade type
de um objeto de evento httpResponseStatus
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
responseURL | O URL do qual a resposta foi retornada. |
responseHeaders | Os cabeçalhos de resposta que a resposta retornou, como uma matriz de objetos URLRequestHeader. |
status | O código de status HTTP retornado pelo servidor. |
redirecionado | Se a resposta for o resultado de um redirecionamento. |
target | O objeto de rede que recebe o código de status HTTP. |
Elementos da API relacionados
httpStatus | Evento |
flash.events.HTTPStatusEvent
propriedade HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando ocorre uma falha de upload e um código de status HTTP está disponível para descrever a falha. O evento httpStatus
é despachado, seguido de um evento ioError
.
O evento httpStatus
é exibido apenas para falhas de upload. Para o conteúdo em execução no Flash Player, este evento não é aplicado em falhas de download. Se um download falhar devido a um erro HTTP, esse erro será reportado como um erro de E/S.
HTTPStatusEvent.HTTP_STATUS
define o valor da propriedade type
de um objeto de evento httpStatus
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
status | O código de status HTTP retornado pelo servidor. |
target | O objeto de rede que recebe o código de status HTTP. |
Elementos da API relacionados
ioError | Evento |
flash.events.IOErrorEvent
propriedade IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando ocorre uma falha na operação de upload ou download. Um transferência de arquivo pode falhar por um dos seguintes motivos:
- Um erro de entrada/saída ocorre enquanto o player está lendo, gravando ou transmitindo o arquivo.
- O arquivo SWF tenta carregar um arquivo em um servidor que exige autenticação (como um nome de usuário e senha). Durante o upload, o Flash Player ou o Adobe AIR não fornece um meio para os usuários inserirem senhas. Se um arquivo SWF tentar carregar um arquivo em um servidor que exige autenticação, o upload falhará.
- O arquivo SWF tenta baixar um arquivo de um servidor que exige autenticação, no player autônomo ou externo. Durante o download, os players autônomos e externos não fornecem um meio de os usuários inserirem senhas. Se um arquivo SWF desses players tentar baixar um arquivo de um servidor que exige autenticação, o download falhará. O download do arquivo somente será bem sucedido em players com controle ActiveX, plug-in e no tempo de execução do Adobe AIR.
- O valor transmitido ao parâmetro
url
no métodoupload()
contém um protocolo inválido. Os protocolos válidos são HTTP e HTTPS.
Importante: apenas os aplicativos em execução em um navegador (ou seja, que utilizam plug-in para navegador ou controle ActiveX) e o conteúdo em execução no Adobe AIR podem fornecer uma caixa de diálogo para solicitar que o usuário insira um nome e uma senha para autenticação e somente para downloads. No caso de uploads usando o plug-in ou uma versão do Flash Player para o controle ActiveX, ou do upload ou download usando o player autônomo ou externo, ocorre uma falha na transferência de arquivos.
Define o valor da propriedadetype
de um objeto de evento ioError
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
errorID | Um número de referência associado ao erro específico (somente AIR). |
target | O objeto de rede que está recebendo o erro de entrada/saída. |
text | Texto a ser exibido como uma mensagem de erro. |
Elementos da API relacionados
open | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.OPEN
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando uma operação de upload ou download é iniciada.
A constanteEvent.OPEN
define o valor da propriedade type
de um objeto de evento open.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto de rede que abriu uma conexão. |
Exemplo ( Como usar este exemplo )
download
. Para executar esse exemplo, altere a propriedade downloadURL.url
de forma que ela aponte para um domínio e arquivo reais, em vez da URL fictícia http://www.[yourDomain].com/SomeFile.pdf. Talvez também seja necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente a rede ou atualizar as configurações de segurança do Flash Player para permitir esse acesso de rede ao arquivo.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; public class FileReference_download extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_download() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
Elementos da API relacionados
permissionStatus | Evento |
flash.events.PermissionEvent
propriedade PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 24.0 |
Será despachado quando o aplicativo solicitar permissão para acessar o sistema de arquivos. Verifique o valor da propriedade status
para determinar se a permissão for concedida ou recusada
Elementos da API relacionados
progress | Evento |
flash.events.ProgressEvent
propriedade ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado periodicamente durante a operação de upload ou download de arquivos. O evento progress
é despachado enquanto o Flash Player transmite bytes a um servidor e é periodicamente despachado durante a transmissão, mesmo que ela não venha a ser bem-sucedida. Para determinar se a transmissão de arquivos foi bem-sucedida e está concluída, e quando isso ocorreu, monitore o evento complete
.
Em alguns casos, eventos progress
não são recebidos. Por exemplo, quando o arquivo que está sendo transmitido for muito pequeno ou o upload ou o download acontecer muito rapidamente, talvez um evento progress
não seja despachado.
O progresso de upload de arquivos não pode ser determinado em plataformas Macintosh anteriores ao OS X 10.3. O evento progress
é chamado durante a operação de upload, mas o valor da propriedade bytesLoaded
do evento "progress" é -1, indicando que não é possível determinar o progresso.
type
de um objeto de evento progress
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
bytesLoaded | O número de itens ou bytes carregados no momento em que o ouvinte processa o evento. |
bytesTotal | O número total de itens ou bytes que serão carregados no final se o processo de carregamento tiver êxito. |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto que está informando o andamento. |
Exemplo ( Como usar este exemplo )
progress
. Para executar esse exemplo, altere a propriedade downloadURL.url
de forma que ela aponte para um domínio e arquivo reais, em vez da URL fictícia http://www.[yourDomain].com/SomeFile.pdf. Talvez também seja necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente a rede ou atualizar as configurações de segurança do Flash Player para permitir esse acesso de rede ao arquivo.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_progress extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_progress() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.download(downloadURL, fileName); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } } }
Elementos da API relacionados
securityError | Evento |
flash.events.SecurityErrorEvent
propriedade SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando uma chamada ao método FileReference.upload()
ou FileReference.download()
tenta carregar um arquivo em um servidor ou obter um arquivo a partir de um servidor que está fora da área de segurança do chamador. O valor da propriedade de texto que descreve o erro específico ocorrido é normalmente "securitySandboxError"
. O arquivo SWF de chamada pode ter tentado acessar um arquivo SWF fora do seu domínio, mas não tem permissão para tanto. Você pode tentar solucionar esse erro usando um arquivo do diretivas de URL.
No Adobe AIR, essas restrições de segurança não se aplicam ao conteúdo na caixa de proteção do aplicativo.
No Adobe AIR, essas restrições de segurança não se aplicam ao conteúdo na caixa de proteção do aplicativo.
A constanteSecurityErrorEvent.SECURITY_ERROR
define o valor da propriedade type
de um objeto de evento securityError
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto de rede que reporta o erro de segurança. |
text | Texto a ser exibido como uma mensagem de erro. |
Elementos da API relacionados
select | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.SELECT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando o usuário seleciona um arquivo para upload ou download a partir da caixa de diálogo de navegação de arquivos. (Essa caixa de diálogo é aberta quando você chama o método FileReferenceList.browse()
, FileReference.browse()
ou FileReference.download()
.) Quando o usuário selecionar um arquivo e confirmar a operação (por exemplo, clicando em OK), as propriedades do objeto FileReference serão preenchidas.
Para o conteúdo em execução no Flash Player ou fora da caixa de proteção do aplicativo no tempo de execução do Adobe AIR, a seleção
de eventos funciona um pouco diferente, dependendo do método invocado. Quando o evento select
é despachado depois de uma chamada browse()
, o Flash Player ou o Adobe AIR consegue ler todas as propriedades do objeto FileReference, uma vez que o arquivo selecionado pelo usuário está no sistema de arquivos local. Quando o evento select
ocorre depois de uma chamada download()
, o Flash Player ou o Adobe AIR apenas pode ler a propriedade name
, uma vez que o arquivo ainda não foi baixado para o sistema de arquivos local no momento em que o evento select
é despachado. Quando o arquivo for baixado e o evento complete
for despachado, o Flash Player ou o Adobe AIR poderá ler todas as outras propriedades do objeto FileReference.
Event.SELECT
define o valor da propriedade type
de um objeto de evento select
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto no qual um item foi selecionado. |
Exemplo ( Como usar este exemplo )
select
. Para executar esse exemplo, altere a propriedade uploadURL.url
de forma que ela aponte para um domínio e arquivo reais, em vez da URL fictícia http://www.[yourDomain].com/SomeFile.pdf. Talvez também seja necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente a rede ou atualizar as configurações de segurança do Flash Player para permitir esse acesso de rede ao arquivo. Para que esse exemplo seja executado a partir da sua área de trabalho, o servidor também precisa ter um arquivo crossdomain.xml publicado. Se a função ioErrorHandler()
for acionada, você provavelmente precisará atualizar a propriedade uploadURL
fornecida com uma url válida que esteja configurada para receber uploads.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_select extends Sprite { private var uploadURL:URLRequest; private var file:FileReference; public function FileReference_event_select() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; file = new FileReference(); file.addEventListener(Event.SELECT, selectHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.browse(); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); file.upload(uploadURL); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } } }
uploadCompleteData | Evento |
flash.events.DataEvent
propriedade DataEvent.type =
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9.0.28.0 |
Despachado quando os dados são recebidos do servidor após um upload bem-sucedido. Esse evento não será despachado se os dados não forem retornados do servidor.
Define o valor da propriedadetype
de um objeto de evento uploadCompleteData
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
dados | Os dados brutos retornados do servidor após um carregamento bem-sucedido de arquivo. |
target | O objeto FileReference que está recebendo os dados após um carregamento bem-sucedido. |
Observação: Para executar esse exemplo, altere a propriedade uploadURL.url de forma que ela aponte para uma URL real, em vez de a URL fictícia no exemplo. A URL deve apontar para um arquivo denominado yourUploadHandlerScript.cfm
, no diretório da Web raiz da URL especificada. Com base na sua configuração, talvez também seja necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente a rede ou atualizar as configurações de segurança do Flash Player para permitir esse acesso de rede ao arquivo.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileFilter; import flash.net.FileReference; import flash.net.URLRequest; public class FileReferenceExample extends Sprite { private var uploadURL:URLRequest; private var file:FileReference; public function FileReferenceExample() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; file = new FileReference(); configureListeners(file); file.browse(getTypes()); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler); } private function getTypes():Array { var allTypes:Array = new Array(getImageTypeFilter(), getTextTypeFilter()); return allTypes; } private function getImageTypeFilter():FileFilter { return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png"); } private function getTextTypeFilter():FileFilter { return new FileFilter("Text Files (*.txt, *.rtf)", "*.txt;*.rtf"); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function uploadCompleteDataHandler(event:DataEvent):void { trace("uploadCompleteData: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); file.upload(uploadURL); } } }
Wed Jun 13 2018, 11:10 AM Z