Upload de Arquivo com FLEX
Ai vai um exemplo de aplicação FLEX para fazer upload de arquivos!
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute”>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private fileRef:FileReference = null;
public function localizar():void {
if (fr == null) {
this.fileRef = new FileReference();
this.fileRef.addEventListener(Event.SELECT, onSelect);
this.fileRef.addEventListener(Event.COMPLETE, onUploadComplete);
}
//utilizando filtro para upload somente de imagem
var tipos:FileFilter = new FileFilter(
"Arquivos de Imagem","*.jpg; *.gif; *.png");
var tiposArray:Array = new Array(tipos);
this.fileRef .browse(tiposArray);
}
private function onSelect(event:Event):void {
this.txt_filename.text = fileRef.name;
}
private function onUploadComplete(event:Event):void {
Alert.show("Upload completo...", "Gregui Shigunov");
}
public function enviar():void {
if (this.fileRef == null) return;
var request:URLRequest = new URLRequest(
"http://xxxx.com/upload.php");
request.method = URLRequestMethod.POST;
this.fileRef .upload(request, "nome_do_campo");
}
]]>
</mx:Script>
<mx:TextInput id=”txt_filename” x=”10″ y=”10″/>
<mx:Button id=”btn_Localizar” click=”localizar();” x=”178″ y=”10″ label=”Localizar…” />
<mx:Button id=”btn_enviar” click=”enviar();” x=”178″ y=”40″ label=”Enviar” />
</mx:Application>
E aqui um arquivo em php que irá receber o arquivo.
Lembrando que pode ser feito em outras linguage (ASP, JSP, …).
<?php
/**
* Salva o arquivo do upload
*
* @author Gregui Shigunov
* @since 12/08/2007
*/
//verificando se exite um upload de arquivo
if (isset($_FILES['nome_do_campo']['name'])
&& strlen($_FILES['nome_do_campo']['name']) > 1) {
//salvando arquivo de upload
$strOrigem = $_FILES['nome_do_campo'] ['tmp_name'];
$strDestino = “./”.$_FILES['nome_do_campo']['name'];
$bolOk = move_uploaded_file ($strOrigem, $strDestino);
//uploaded???
if (!$bolOk) {
//logar (“Erro ao salvar o arquivo”);
}
}
?>
em 17 17UTC Outubro 17UTC 2007 em 10:50 am
Cara, muito bom este post, valeu mesmo, será muito útil para vários iniciantes como eu!
O blog esta bem interessante!
em 17 17UTC Outubro 17UTC 2007 em 12:34 pm
Opa! valeu!!! qualquer dúvida! da um toque!
em 17 17UTC Abril 17UTC 2008 em 10:33 am
Ola nao consegui fazer funcionar,
e tem um erro na condiçao if(fr==null)
nao seria if(fileRef==null)?
Abraço
em 7 07UTC Maio 07UTC 2008 em 11:00 am
Olá amigo… Belo exemplo…
Acontece que tô precisando fazer a mesma coisa, só que ao invés de enviar para um arquivo php preciso enviar para o servidor rails… Será que pode me ajudar?… Sou meio novato no rails dai estou encontrando dificuldades…
Desde já, agradeço pela atenção.
Silva Developer
silva.developer@hotmail.com
em 25 25UTC Novembro 25UTC 2008 em 2:19 pm
Não consigo fazer o upload funcionar no Firefox, ele funciona apenas no IE.
Teve este problema também?
Jani.
em 5 05UTC Dezembro 05UTC 2008 em 10:42 pm
rapaz eu n consigo que o arquivo seja salvo. você pode me ajudar?
eu coloco para gerar um arquivo qdo o código PHP for acessado, ele gera esse arquivo com um texto dentro informando que o contato com PHP está sendo feito, mas nunca consigo carregar o arquivo.
Já procurei em todo canto, não sei o que acontece.
Se puder me ajudar eu agradeço, já procurei na documentação do Flex, mas n serviu de nada!
em 6 06UTC Junho 06UTC 2009 em 11:32 am
Cara parabéns. Muito simples e eficaz. funcional que foi uma beleza.
em 12 12UTC Setembro 12UTC 2009 em 4:34 pm
Aqui não funcionou e esta cheio de erros do AS…
em 28 28UTC Outubro 28UTC 2009 em 9:37 am
Olá amigo, está dando um erro no
private fileRef:FileReference = null;
O que pode ser?
em 24 24UTC Novembro 24UTC 2009 em 2:56 pm
Fabricio falat o var, fica assim: private var fileRef:FileReference = null;
e envez de if(fr==null) é : if (fileRef == null)
em 8 08UTC Dezembro 08UTC 2009 em 11:51 am
Olá Pessoal, tava vendo esse tuto e tive o mesmo problemas de muitos aí acima, dele não salvar a imagem, só que agora funcionou,
num sei se o mesmo está acontecendo aí, mas em todos lugares, onde tem por exemplo:
$_FILES['nome_do_campo'] (PHP)
this.fileRef .upload(request, “nome_do_campo”); (Flex)
substituam pelo nome_do_campo de vcs do flex, no caso do tuto txt_filename