Filipe, segue abaixo o fonte comentado de um componente de upload que
fiz para exemplo.
Mas pelo que entendi o seu problema é no backend, uma vez que faz o
upload mas não o copia do temp.
Você está  recebendo o campo file com o nome Filedata ?

Ex:

 $file = $_FILES["Filedata"];  // independente do nome do seu campo
file

//função que copia o arquivo do temp ( no meu caso em php: copy ou
move_upload_file)

$copiou = move_uploaded_file($file["tmp_name"], $pasta_de_destino);

if($copiou)
{
   echo "O arquivo $file['name'] foi enviado com sucesso!";
}
else
{
   echo "Houve um erro no envio do arquivo $file['name'] ";
}

=============================================================

Aqui os links de referencia que utilizei em meus estudos:

ScreenCast muito bom do Vedovelli
http://www.vedovelli.com.br/screencasts/screencast012_20052008/

Source do Digows com fonte de backend em Php e Java
http://www.digows.com/downloads/postagens/flexupload/srcview/index.html

==============================================================
Aqui o exemplo que fiz
==============================================================

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"; width="550"
height="88"
        creationComplete="init()"  horizontalAlign="center">

    <mx:Script>
        <![CDATA[
                import mx.rpc.events.ResultEvent;
            import mx.controls.Alert;
     
//--------------------------------------------------------------------------
        //  cria a variável fr:FileReference
        
//--------------------------------------------------------------------------
            private var fr:FileReference;

            private function init():void
                        {
                fr = new FileReference;

                                //  esconde o botão cancelar
                cancelBtn.visible = false;

                                //  adiciona os listeners
                fr.addEventListener(Event.SELECT,onSelect);
                fr.addEventListener(Event.OPEN,onOpen);
 
fr.addEventListener(ProgressEvent.PROGRESS,onProgress);
    //--------------------------------------------------------------------------
        //  aqui a diferença DataEvent.UPLOAD_COMPLETE_DATA ao invés de
Event.COMPLETE
        
//--------------------------------------------------------------------------
                          //fr.addEventListener(Event.COMPLETE,onComplete);
        
fr.addEventListener(flash.events.DataEvent.UPLOAD_COMPLETE_DATA,onComplete);
                         }

    //--------------------------------------------------------------------------
        //  função executada ao clicar no botão Procurar...
        
//--------------------------------------------------------------------------
            private function Browse():void
            {
                infoLoad.text = "";

                                //  array de tipos permitidos
                                //  (por segurança costumo validar isso também 
no php)

                var tipos:FileFilter = new FileFilter("Arquivos de
Imagem"
                ,"*.jpg; *.jpeg; *.gif; *.png;");
                var tiposArq:Array = new Array(tipos);
                fr.browse(tiposArq);
            }

    //--------------------------------------------------------------------------
        //  função executada ao clicar no botão Cancelar...
        
//--------------------------------------------------------------------------
            private function Cancel():void
            {
                fr.cancel();
                dispatchEvent(new Event(Event.CANCEL));
            }

    //--------------------------------------------------------------------------
        //  recebe o evento SELECT do fr
        
//--------------------------------------------------------------------------
            private function onSelect(e:Event):void
            {
                var Limit:int = 150; // Mb
                var Mb:int = 1048576;

           // se o tamanho é menor ou igual à variável Limit
            if(fr.size <= (Limit * Mb))
            {
            /*
            Envia       arquivo e ID de sessao + Usuário
            ID de sessão só é necessário caso queira recuperar algum
valor da sessão, pois o Firefox
                cria uma nova sessão nesta requisição, consequentemente
sem os valores da sessão atual.
            Eu particularmente não consegui recuperar os valores da
sessão mesmo alterando o session id
            por isso envio junto a variável User, mas em todo caso
pelo que entendi nos tutoriais que li,
            é este o caminho.
            */
            var Request:URLRequest = new URLRequest("uploadImagem.php?
SESSION_ID="+sessionId+"&User="+User);
                Request.method = URLRequestMethod.POST;
                fr.upload(Request);

            }
            else
            {
            // Se o tamanho é maior que a variável Limit
                Alert.show("O arquivo possui "+ int(fr.size/Mb*100)/100
+"Mb e ultrapassa o limite de "+ Limit +"Mb.");
            // Executa a função que limpa os campos
                finish();

            }
            }

    //--------------------------------------------------------------------------
        //  recebe o evento OPEN do fr
        
//--------------------------------------------------------------------------
            private function onOpen(e:Event):void
            {
            // não sei exatamente o porque do %3%%, mas sei que
determina o modo de exibição do label da progress bar
                pb.label = "%3%%";
            }

    //--------------------------------------------------------------------------
        //  recebe o evento PROGRESS do fr
        
//--------------------------------------------------------------------------
            private function onProgress(e:ProgressEvent):void
            {
                // preenche o campo fileField com o nome do arquivo
selecionado
                fileField.text = fr.name;
                // mostra o progress bar
                pb.visible = true;
                // mostra o botão cancelar
                cancelBtn.visible = true;
                addEventListener(Event.CANCEL,onCancel);

                // mostra o progresso do upload no label do progress bar
                // utilizando a função setProgress
                pb.setProgress(e.bytesLoaded,e.bytesTotal);

                // mensagem do campo infoLoad
                var Loaded:Number = int(e.bytesLoaded/1048576*100)/100;
                var Total:Number = int(e.bytesTotal/1048576*100)/100;

                infoLoad.text="Foram enviados "+Loaded+"Mb de "+Total
+"Mb";

                if(e.bytesLoaded == e.bytesTotal){
                infoLoad.text = "Salvando o arquivo...";
                }
            }

    //--------------------------------------------------------------------------
        //  recebe o evento CANCEL do fr
        
//--------------------------------------------------------------------------
            private function onCancel(e:Event):void
            {
                infoLoad.text="Foi cancelado o envio do arquivo "+
fr.name;
                // limpa os campos
                finish();
            }

    //--------------------------------------------------------------------------
        //  recebe o DataEvent do UPLOAD_COMPLETE_DATA do fr
        
//--------------------------------------------------------------------------
            private function onComplete(e:DataEvent):void
            {
 
        //--------------------------------------------------------------
                // exibe a mensagem recebida do php no campo infoLoad
                infoLoad.text=e.data;
 
        //--------------------------------------------------------------
                                // limpa os campos
                finish();
            }

    //--------------------------------------------------------------------------
        //   função que limpa campos e remove listener e botao ao término do
Upload
        
//--------------------------------------------------------------------------
            private function finish():void
            {
                fileField.text = '';
                pb.visible = false;
                cancelBtn.visible = false;
                removeEventListener(Event.CANCEL,onCancel);
            }

        ]]>
    </mx:Script>

    <mx:HBox width="100%" horizontalAlign="center" y="11" x="121"
height="44" verticalAlign="middle">
        <mx:Spacer width="90" />
        <mx:TextInput id="fileField" enabled="false" editable="false"
width="200"/>
        <mx:Button label="Procurar..." click="Browse()"/>
        <mx:LinkButton id="cancelBtn" label="Cancelar" click="Cancel()"
width="90"/>
    </mx:HBox>
     <mx:HBox width="474"  horizontalAlign="center" y="42">
        <mx:ProgressBar id="pb" mode="manual" labelPlacement="center"
width="95%" visible="false" />
     </mx:HBox>
     <mx:Text x="0" y="65" width="100%" id="infoLoad"
textAlign="center" text="Selecione uma imagem para enviar."/>

</mx:VBox>

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a