Forçando o download de arquivos no Flash

Quantas vezes já não passamos pela situação onde nosso arquivo era uma imagem, um mp3, um pdf, etc e não queríamos que ele abrisse no navegador, mas ao invés disso desejavamos forçar o download?

Não é necessário comprimir o arquivo (gerar um zip, um rar ou qualquer outra coisa) ou forçar pelo php, .net, etc. Você pode usar a  classe FileReference. Todo mundo lembra dessa classe na hora de fazer upload, mas a maioria esquece o método download que abre a caixa de diálogo no navegador para salvar o arquivo. 

O código é muito simples:

// definindo url do arquivo
var fileURL:URLRequest = new URLRequest("http://www.nyan.com.br/ico/feed.png");
 
// instancionado objeto file reference
var fileReference:FileReference = new FileReference();
 
fileReference.download(fileURL);

Só não esqueça de uma coisa: O Flash Player 10 sofreu várias atualizações de segurança e uma delas está diretamente relacionada à classe FileReference. Não é possivel chamar os métodos download ou browser se não for através de uma interação do usuário (pressionando uma tecla ou clicando com o mouse, por exemplo).