Thiago,
Faça um debug (ou um trace/alert) e verifique se a string "caminho" informa
realmente o URL completo para o arquivo que deseja baixar.
Talvez você esteja confundindo o significado/propósito do segundo parâmetro
do método "download". Ele serve apenas para pré-definir um nome de arquivo
padrão à ser atribuído ao arquivo que será gravado em sua máquina ao invés
de utilizar o mesmo nome do arquivo indicado no primeiro parâmetro através
do "URLRequest". Este segundo parâmetro é simplesmente o que já vai constar
na janela de salvar, como nome do arquivo a ser salvo.
Porém, se o URLRequest não estiver apontando para arquivo nenhum (apenas uma
pasta, como eu creio que está acontecendo), não haverá o que baixar. Nesse
caso, é provável até que o "FileReference" esteja disparando algum evento
apontando isso... talvez, IO_ERROR ou HTTP_STATUS).
Espero que seja isso, pois então será facil de resolver. Certifique-se de
que o nome do arquivo, faz parte da URL com a qual você está definindo o
URLRequest. Seria nesse caso, o mesmo que (usando seu código):
private function baixaExcel(caminho:String):void
{
var fileRef:FileReference = new FileReference();
var request:URLRequest = new URLRequest(caminho +
"/Relatorio.xls");
//request.url = caminho;
fileRef.download(request, "Relatorio.xls");
}
PS: talvez sua função fique mais reutilizável desse modo:
private const CAMINHO_EXCEL:String = "http://servidor/pastaExcel/";
private const CAMINHO_WORD:String = "http://servidor/pastaWord/";
private function baixaDoc(caminho:String, nomePadrao:String):void
{
var fileRef:FileReference = new FileReference();
var request:URLRequest = new URLRequest(caminho +
nomePadrao);
fileRef.download(request, nomePadrao);
}
e você use:
<mx:Button id="btnDownloadExcel" label="Download Excel"
click="baixaDoc(CAMINHO_EXCEL, 'Relatorio.xls')"/>
<mx:Button id="btnDownloadWord" label="Download Word"
click="baixaDoc(CAMINHO_WORD, 'Oficio.doc')"/>
Apenas exemplos que espero que ajudem...
--
Vicente Maciel Junior
Independent Web Developer & Consultant
Adobe Advanced Certified Developer
Adobe Certified Instructor (ColdFusion & Flash Platform)
+55 (71) 8120-0035 / 9212-0909 - MSN: [EMAIL PROTECTED]
http://teclandoalto.blogspot.com
2008/9/20 thiago freitas <[EMAIL PROTECTED]>
>
> pessoal estou com problema no uso do filereference para download.
>
> Meu codigo:
>
> private function baixaExcel(caminho:String):void
> {
> var fileRef:FileReference = new FileReference();
> var request:URLRequest = new URLRequest();
>
> request.url = caminho;
>
> fileRef.download(request, "Relatorio.xls");
> }
>
> aparece a caixa de download mas quando clico em "salvar" não acontece
> nada, nao salva. O que poderia ser?
> >
>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---