Alguém já passou por este problema ou tem alguma solução ?
On 5 jul, 00:18, Rudinei Alves <rudineic...@hotmail.com> wrote: > Estou fazendo um aplicativo de envio de arquivos onde depois de logado > o usuario fica na sessao e é gravado junto ao arquivo no DB. Para > outras funcionalidades com HTTPService consigo acessar esta variável > ($_SESSION['user']) porém no arquivo de upload com o FileReference o > user aparece null. Nota: isso só ocorre no Firefox, no IE funciona > normal (...!!!). Como é um problema no backend não há nada relacionado > na documentação. Também andei pesquisando (inclusive aqui) e encontrei > alguns tópicos que não me deram (ou não entendi) a solução. Conto com > o auxílio de vocês pois é realmente necessário que se grave o usuário > junto ao arquivo. > > CODIGO FONTE FLEX > > <?xml version="1.0" encoding="utf-8"?> > <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" width="566" > creationComplete="init()" title="Enviar Arquivo"> > > <mx:Script> > <![CDATA[ > import mx.rpc.events.ResultEvent; > import mx.controls.Alert; > > //FUNÇOES DE UPLOAD > > private var fr:FileReference; > > private function init():void > { > > fr = new FileReference; > cancelBtn.visible = false; > fr.addEventListener(Event.SELECT,onSelect); > fr.addEventListener(Event.OPEN,onOpen); > > fr.addEventListener(ProgressEvent.PROGRESS,onProgress); > fr.addEventListener(Event.COMPLETE,onComplete); > > } > > private function Browse():void > { > infoLoad.text = ""; > > var tipos:FileFilter = new FileFilter("Arquivos > Permitidos" > ,"*.jpg; *.jpeg; *.gif; *.png; *.zip; *.rar; *.cdr; > *.psd; *.fla; *.ai; *.doc; *.txt; *.xls; *.pdf; *.mp3; *.wma; *.mpeg; > *.avi;"); > var tiposArq:Array = new Array(tipos); > fr.browse(tiposArq); > } > > private function Cancel():void > { > fr.cancel(); > dispatchEvent(new Event(Event.CANCEL)); > } > > private function onSelect(e:Event):void > { > > var Limit:int = 150; // Mb > var Mb:int = 1048576; > > if(fr.size <= (Limit * Mb)) > { > > //Envia arquivo e variáveis > var Request:URLRequest = new URLRequest("ftpUpload.php"); > var Vars:URLVariables = new URLVariables(); > > //Vars.cod = Cod; > Vars.user = User; > Request.data = Vars; > Request.method = URLRequestMethod.POST; > fr.upload(Request); > > fileField.text = fr.name; > pb.visible = true; > cancelBtn.visible = true; > addEventListener(Event.CANCEL,onCancel); > } > else > { > Alert.show("O arquivo possui "+ int(fr.size/Mb*100)/100 > +"Mb e ultrapassa o limite de "+ Limit +"Mb."); > fileField.text = ""; > cancelBtn.visible = false; > > } > } > > private function onOpen(e:Event):void > { > pb.label = "%3%%"; > } > > private function onProgress(e:ProgressEvent):void > { > pb.setProgress(e.bytesLoaded,e.bytesTotal); > > 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..."; > } > } > > private function onCancel(e:Event):void > { > infoLoad.text="Foi cancelado o envio do arquivo "+ > fr.name; > finish(); > > } > > private function onComplete(e:Event):void > { > infoLoad.text="O arquivo "+ fr.name +" foi enviado com > sucesso."; > dispatchEvent(new Event('refresh')); > finish(); > } > > // Limpa campos e remove listener e botao ao término ou > cancelamento do Upload > private function finish():void > { > fileField.text = ''; > pb.visible = false; > cancelBtn.visible = false; > removeEventListener(Event.CANCEL,onCancel); > } > > ]]> > </mx:Script> > > <mx:Canvas width="100%" height="99" > > <mx:HBox width="323" horizontalAlign="center" y="11" x="121"> > <mx:TextInput id="fileField" enabled="false" editable="false" > width="200"/> > <mx:Button label="Procurar..." click="Browse()"/> > </mx:HBox> > <mx:Button id="cancelBtn" label="Cancelar" click="Cancel()" > width="90" x="444" y="11"/> > <mx:HBox width="100%" 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"/> > </mx:Canvas> > > </mx:TitleWindow> > > BACKEND PHP > > <? > session_start(); > $user = $_SESSION['user']; > > $dir = $user; > > set_time_limit(0); > > $file =@ $_FILES["Filedata"]; > > $size = $file["size"]; > > if($size > 0){ > > if(!is_dir($dir)){ > mkdir($dir,0755); > } > > $cod = date("ymdHis"); > $data_hora=date("d/m/y H:i"); > > $fileName =utf8_decode($file["name"]); > > include("libs/t_text.php"); > > function autoRename($user,$name){ > > $extensao = substr($name,strrpos($name,".")+1); > > $name=substr(ereg_replace('.'.$extensao,'',$name),0,70); > > $newName=t_text($name).'.'.$extensao; > > $n=0; > while($i==0){ > if(file_exists($user.'/'.$newName)){ > $n++; > $newName=t_text($name).'['.$n.'].'.$extensao; > $i=0; > }else{ > $i=1; > } > } > > return $newName; > } > > $fileName =autoRename($user,$fileName); > > $ftp_server="ftp.nwdnet.com.br"; > $ftp_user_name="xxxxxxxxxxx"; > $ftp_user_pass="xxxxxxxxxxxx"; > > $temp_file=$file["tmp_name"]; > > $destination_file= "www/$user/$fileName"; > > $conn_id = ftp_connect("$ftp_server"); > $ftp_login=ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if(! > $ftp_login){echo "Falha na conexão !"; exit;} > $passive = ftp_pasv ($conn_id , true ); > @ $Copy = ftp_put($conn_id, $destination_file,$temp_file, > FTP_BINARY); > ftp_close($conn_id); > > if($Copy){ > > // GRAVA NO BANCO DE DADOS > > include("conexao.php"); > > $insert="INSERT INTO `arquivos_ftp` (`cod`, `data_hora`, `user`, > `url`) VALUES ('$cod', '$data_hora', '$user', '$fileName')"; > $result=mysql_query($insert); > > echo "Arquivo enviado com sucesso !"; > > //mysql_close($conn); > } > > } > > ?> -- 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