Referência do ActionScript® 3.0 para Adobe® Flash® Platform
Início  |  Ocultar listas de Pacotes e Classes |  Pacotes  |  Classes  |  Novidades  |  Índice  |  Apêndices  |  Por que inglês?
Filtros: AIR 30.0 e anterior, Flash Player 30.0 e anterior, Flash Lite 4
Flex 4.6 e anterior, Flash Pro CS6 e anterior
Ocultar filtros
flash.net 

FileReference  - AS3

Pacotesx

Nível superior
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementos de linguagem

Constantes globais
Funções globais
Operadores
Instruções, palavras-chave e diretivas
Tipos especiais

Apêndices

Novidades
Erros do compilador
Avisos do compilador
Erros de runtime
Migrando para o ActionScript 3
Conjuntos de caracteres suportados
Tags MXML apenas
Elementos XML de movimento
Marcas de texto cronometradas
Lista de elementos deprecados
Constantes de Implementação de Acessibilidade
Como Usar Exemplos do ActionScript
Aspectos jurídicos
Pacoteflash.net
Classepublic class FileReference
HerançaFileReference Inheritance EventDispatcher Inheritance Object
Subclasses File

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9

A classe FileReference fornece um meio de carregar e baixar arquivos entre o computador de um usuário e um servidor. Uma caixa de diálogo do sistema operacional solicita que o usuário selecione um arquivo a ser carregado ou um local para download. Cada objeto FileReference faz referência a um único arquivo no disco do usuário e tem propriedades que contêm informações sobre o arquivo em termos de tamanho, tipo, nome, data de criação, data de modificação e tipo de criador (somente para Macintosh).

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

Veja os exemplos

Elementos da API relacionados



Propriedades públicas
 PropriedadeDefinido por
 Inheritedconstructor : 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étodos públicos
 MétodoDefinido por
  
Cria um novo objeto FileReference.
FileReference
 Inherited
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
  
browse(typeFilter:Array = null):Boolean
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
 Inherited
Envia um evento para o fluxo de eventos.
EventDispatcher
  
download(request:URLRequest, defaultFileName:String = null):void
Abre uma caixa de diálogo que permite ao usuário baixar um arquivo a partir de um servidor remoto.
FileReference
 Inherited
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento.
EventDispatcher
 Inherited
Indica se um objeto tem uma propriedade especificada definida.
Object
 Inherited
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
 Inherited
Indica se a propriedade especificada existe e é enumerável.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Remove um ouvinte do objeto EventDispatcher.
EventDispatcher
  
Solicita permissão para acessar o sistema de arquivos.
FileReference
  
save(data:*, defaultFileName:String = null):void
Abre uma caixa de diálogo que permite ao usuário salvar um arquivo no sistema de arquivos local.
FileReference
 Inherited
Define a disponibilidade de uma propriedade dinâmica para operações de repetição.
Object
 Inherited
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade.
Object
 Inherited
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
 Inherited
Retorna o valor primitivo do objeto especificado.
Object
 Inherited
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
Eventos
 Evento Resumo Definido por
 Inherited[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
 Inherited[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
Detalhes da propriedade

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 
permissionStatus:String  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 24.0

Determina se o aplicativo recebeu permissão para acessar o sistema de arquivos.



Implementação
    public static function get permissionStatus():String

Elementos da API relacionados

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

Detalhes do construtor

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

Detalhes do método

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.

Retorna
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:Event — Despachado quando o usuário seleciona com êxito um item a partir do seletor de arquivos em Procurar.
 
cancel:Event — 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 select
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 marcas object e embed 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:Event — Despachado quando uma operação de download é iniciada.
 
progress:ProgressEvent — Despachado periodicamente durante a operação de download de arquivos.
 
complete:Event — Despachado quando a operação de download de arquivos é concluída.
 
cancel:Event — Despachado quando o usuário descarta a caixa de diálogo.
 
select:Event — Despachado quando o usuário seleciona um arquivo para download a partir da caixa de diálogo.
 
securityError:SecurityErrorEvent — Despachado quando há uma falha no download devido a um erro de segurança.
 
ioError:IOErrorEvent — Despachado por quaisquer das seguintes razões:
  • Ocorre um erro de entrada/saída enquanto o arquivo está sendo lido ou transmitido.
  • O conteúdo SWF em execução nas versões autônoma ou externa do Flash Player tenta baixar um arquivo de um servidor que requer autenticação. Durante o download, os players autônomos e externos não fornecem um meio de os usuários inserirem senhas. Se um arquivo SWF nesses players tentar baixar um arquivo de um servidor que exige autenticação, o download falhará. O download do arquivo apenas será bem-sucedido nos players com controle ActiveX e plug-in para navegador.

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


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o uso do objeto de evento 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 marcas object e embed 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:Event — Despachado quando uma operação de carregamento é iniciada.
 
progress:ProgressEvent — Despachado periodicamente durante a operação de carregamento de arquivos.
 
complete:Event — Despachado quando a operação de carregamento de arquivos é concluída com êxito.
 
ioError:IOErrorEvent — 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


Exemplo  ( Como usar este exemplo )

O exemplo a seguir carrega uma imagem do seu sistema de arquivos local para o objeto de exibição raiz (neste caso, a tomada). Exemplo fornecido por Andre Venancio.
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:PermissionEvent — 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:
  • Caso o valor seja null, o aplicativo lança uma exceção ArgumentError.
  • Caso o valor seja String, ele é salvo como um arquivo de texto UTF-8.
  • Caso o valor seja XML, ele é gravado em um arquivo de texto no formato XML, com toda a formatação preservada.
  • Caso o valor seja um objeto ByteArray, ele é gravado em um texto do arquivo de dados.
  • Caso o valor não seja nenhum dos acima, o método save() chama o método toString() do objeto para converter os dados em uma string e, em seguida, salva os dados como um arquivo de texto. Em caso de falha, o aplicativo lança uma exceção ArgumentError.
 
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:Event — Despachado quando uma operação de download é iniciada.
 
progress:ProgressEvent — Despachado periodicamente durante a operação de download de arquivos.
 
complete:Event — Despachado quando a operação de download de arquivos é concluída.
 
cancel:Event — Despachado quando o usuário descarta a caixa de diálogo.
 
select:Event — Despachado quando o usuário seleciona um arquivo para download a partir da caixa de diálogo.
 
ioError:IOErrorEvent — 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


Exemplo  ( Como usar este exemplo )

O seguinte exemplo salva, em um arquivo, o conteúdo digitado em um campo de texto. O exemplo cria um campo de texto editável (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 de multipart/form-data
  • Content-Disposition com um atributo name definido como "Filedata" por padrão e um atributo filename 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 marcas object e embed 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 url. Se você não especificar um número de porta no parâmetro url, a porta 80 será usada para HTTP e a porta 443 para HTTPS, por padrão.

Para enviar parâmetros POST ou GET ao servidor, defina a propriedade data do objeto URLRequest para os seus parâmetros e defina a propriedade method como URLRequestMethod.POST ou URLRequestMethod.GET.

 
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:Event — Despachado quando uma operação de upload é iniciada.
 
progress:ProgressEvent — Despachado periodicamente durante a operação de upload de arquivos.
 
complete:Event — Despachado quando a operação de upload de arquivos é concluída com êxito.
 
uploadCompleteData:DataEvent — Despachado quando os dados são recebidos do servidor após um upload de arquivo bem-sucedido.
 
securityError:SecurityErrorEvent — Despachado quando há uma falha no upload devido a uma violação de segurança.
 
httpStatus:HTTPStatusEvent — Despachado quando há uma falha no upload devido a um erro HTTP.
 
httpResponseStatus:HTTPStatusEvent — A operação de upload foi concluída com êxito e o servidor retorna um URL e cabeçalhos de resposta.
 
ioError:IOErrorEvent — Chamado em quaisquer das seguintes situações:
  • Falha de upload devido a um erro de entrada/saída enquanto o Flash Player ou o Adobe AIR está lendo, gravando ou transmitindo o arquivo.
  • Falha de upload devido a uma tentativa de carregar um arquivo em um servidor que exige autenticação (como um nome de usuário e uma senha). Durante o upload, não há meios para que os usuários digitem a senha.
  • Falha de upload porque o parâmetro url contém um protocolo inválido. FileReference.upload() deve usar HTTP ou HTTPS.

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 url. Se você não especificar um número de porta no parâmetro url, a porta 80 será usada para HTTP e a porta 443 para HTTPS, por padrão.

Para enviar parâmetros POST ou GET ao servidor, defina a propriedade data do objeto URLRequest para os seus parâmetros e defina a propriedade method como URLRequestMethod.POST ou URLRequestMethod.GET.


Eventos
open:Event — Despachado quando uma operação de upload é iniciada.
 
progress:ProgressEvent — Despachado periodicamente durante a operação de upload de arquivos.
 
complete:Event — Despachado quando a operação de upload de arquivos é concluída com êxito.
 
uploadCompleteData:DataEvent — Despachado quando os dados são recebidos do servidor após um upload de arquivo bem-sucedido.
 
securityError:SecurityErrorEvent — Despachado quando há uma falha no upload devido a uma violação de segurança.
 
httpStatus:HTTPStatusEvent — Despachado quando há uma falha no upload devido a um erro HTTP.
 
httpResponseStatus:HTTPStatusEvent — A operação de upload foi concluída com êxito e o servidor retorna um URL e cabeçalhos de resposta.
 
ioError:IOErrorEvent — Chamado em quaisquer das seguintes situações:
  • Falha de upload devido a um erro de entrada/saída enquanto o Adobe AIR está lendo, gravando ou transmitindo o arquivo.
  • Falha de upload devido a uma tentativa de carregar um arquivo em um servidor que exige autenticação (como um nome de usuário e uma senha). Durante o upload, não há meios para que os usuários digitem a senha.
  • Falha de upload porque o parâmetro url contém um protocolo inválido. FileReference.upload() deve usar HTTP ou HTTPS.

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

Detalhe do evento

cancel

Evento
Tipo do objeto de 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 constante Event.CANCEL define o valor da propriedade type de um objeto de evento cancel.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetUma referência ao objeto no qual a operação é cancelada.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o uso do objeto de evento 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  
Tipo do objeto de 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 constante Event.COMPLETE define o valor da propriedade type de um objeto de evento complete.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto de rede que concluiu o carregamento.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o uso do objeto de evento 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  
Tipo do objeto de 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.

Ao contrário do evento 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:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
responseURLO URL do qual a resposta foi retornada.
responseHeadersOs cabeçalhos de resposta que a resposta retornou, como uma matriz de objetos URLRequestHeader.
statusO código de status HTTP retornado pelo servidor.
redirecionadoSe a resposta for o resultado de um redirecionamento.
targetO objeto de rede que recebe o código de status HTTP.

Elementos da API relacionados

httpStatus

Evento  
Tipo do objeto de 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.

A constante HTTPStatusEvent.HTTP_STATUS define o valor da propriedade type de um objeto de evento httpStatus.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
statusO código de status HTTP retornado pelo servidor.
targetO objeto de rede que recebe o código de status HTTP.

Elementos da API relacionados

ioError

Evento  
Tipo do objeto de 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étodo upload() 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 propriedade type de um objeto de evento ioError.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
errorIDUm número de referência associado ao erro específico (somente AIR).
targetO objeto de rede que está recebendo o erro de entrada/saída.
textTexto a ser exibido como uma mensagem de erro.

Elementos da API relacionados

open

Evento  
Tipo do objeto de 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 constante Event.OPEN define o valor da propriedade type de um objeto de evento open.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto de rede que abriu uma conexão.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o uso do objeto de evento 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  
Tipo do objeto de 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  
Tipo do objeto de 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.

Define o valor da propriedade type de um objeto de evento progress.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
bytesLoadedO número de itens ou bytes carregados no momento em que o ouvinte processa o evento.
bytesTotalO número total de itens ou bytes que serão carregados no final se o processo de carregamento tiver êxito.
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto que está informando o andamento.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o uso do evento 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  
Tipo do objeto de 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 constante SecurityErrorEvent.SECURITY_ERROR define o valor da propriedade type de um objeto de evento securityError.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto de rede que reporta o erro de segurança.
textTexto a ser exibido como uma mensagem de erro.

Elementos da API relacionados

select

Evento  
Tipo do objeto de 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.

A constante Event.SELECT define o valor da propriedade type de um objeto de evento select.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto no qual um item foi selecionado.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o uso do objeto de evento 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  
Tipo do objeto de 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 propriedade type de um objeto de evento uploadCompleteData.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
dadosOs dados brutos retornados do servidor após um carregamento bem-sucedido de arquivo.
targetO objeto FileReference que está recebendo os dados após um carregamento bem-sucedido.
FileReferenceExample.as

O exemplo a seguir exibe o formato de dados e as informações de status para um arquivo carregado em tempo de execução.

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);
        }
    }
}




[ X ]Por que inglês?
O conteúdo na Referência do ActionScript 3.0 aparece em inglês

Nem todas as partes da Referência do ActionScript 3.0 estão traduzidas em todos os idiomas. Quando um elemento de um idioma não está traduzido, ele é exibido em inglês. Por exemplo, a classe ga.controls.HelpBox não está traduzida em nenhum idioma. Por isso, na versão da referência em português do Brasil, a classe ga.controls.HelpBox é exibida em inglês.