Uploads de arquivos com o Flash 8

Baixe o FLA

Fazer uploads de arquivos pelo Flash foi algo que precisei fazer para um trabalho mas na época o Flash não dava suporte a isso, tive que fazer uma gambiarra com javascript, mas agora junto as novas classes que foram incluídas no Flash 8 está uma que venho precisando a algum tempo, a classe FileReference, essa classe já existia no Macromedia Central, justamente para fazer uploads de arquivos com o Flash, veremos como implementar esse recurso.
Abra um arquivo novo, na primeira camada, aperte F9 para abrir o painel “Actions�?.
Vamos importa para o swf as classes necessárias para fazer o upload de arquivos.

ActionScript

  1. import flash.net.FileReference;

Criando um objeto ouvinte para usar os métodos onSelect, onOpen, onComplete, onHTTPError, onIOError, onSecurityError, onProgress.

ActionScript

  1. var listener:Object = new Object();
  2. listener.onSelect = function(selectedFile:FileReference):Void  {
  3.     statusArea.text += "Attempting to upload "+selectedFile.name+"\n";
  4.     selectedFile.upload("http://dominio/upload.php");
  5. };
  6. listener.onOpen = function(selectedFile:FileReference):Void  {
  7.     statusArea.text += "Opening "+selectedFile.name+"\n";
  8. };
  9. listener.onComplete = function(selectedFile:FileReference):Void  {
  10.     statusArea.text += "Downloading "+selectedFile.name+" to player\n";
  11.     load_img.load();
  12.     load_img.contentPath = "http://dominio/img/"+selectedFile.name;
  13. }
  14. ;listener.onHTTPError = function(selectedFile:FileReference):Void  {
  15.     statusArea.text += "onHTTPError: "+selectedFile.name;
  16. };
  17. listener.onIOError = function(selectedFile:FileReference):Void  {
  18.     statusArea.text += "onIOError: "+selectedFile.name;
  19. };
  20. listener.onSecurityError = function(selectedFile:FileReference, errorString:String):Void  {
  21.     statusArea.text += "onSecurityError: "+selectedFile.name+" errorString: "+errorString;
  22. };
  23. listener.onProgress = function(selectedFile:FileReference, bytesLoaded:Number, bytesTotal:Number):Void  {
  24.     statusArea.text += "onProgress with bytesLoaded: "+bytesLoaded+" bytesTotal: "+bytesTotal;
  25. };

Criando uma instância da classe FileReference

ActionScript

  1. var imageFile:FileReference = new FileReference();

Adicionando nossos ouvintes a instancia criada.

ActionScript

  1. imageFile.addListener(listener);

Criando o botão, o textarea e o loader dinamicamente, necessário que esses componentes estejam na biblioteca do filme.

ActionScript

  1. var bot = _root.createClassObject(mx.controls.Button, "bot", _root.getNextHighestDepth(), {label:"Upload", _x:225});
  2. bot.onRelease = function() {
  3.     imageFile.browse([{description:"Image Files", extension:"*.jpg;*.gif;*.png;"}]);
  4. };
  5. var load_img = _root.createClassObject(mx.controls.Loader, "load_img", _root.getNextHighestDepth(), {_x:50, _y:22,_width:450, _height:270});
  6. load_img.setStyle("backgroundColor", 0xEEEEEE);
  7. var statusArea = _root.createClassObject(mx.controls.TextArea, "statusArea", _root.getNextHighestDepth(), {_x:1, _y:300, _width:549, _height:100});

Repare que no metodo browse, podemos definir quais extensões serão permitidas para upload.

ActionScript

  1. imageFile.browse([{description:"Image Files", extension:"*.jpg;*.gif;*.png;"}]);

Uma janela do explorer se abrirá assim que o botão for clicado. O arquivo para upload será enviado para nosso script em PHP que terminara de mandar o arquivo para o servidor. O script usando foi o seguinte:

Arquivo: upload.php

ActionScript

  1. < ?php
  2. $dir = 'img';
  3. //path name of file for storage
  4. $uploadfile = "$dir/" . basename( $_FILES&#91;'Filedata']['name'] );
  5. //if the file is moved successfully
  6. if ( move_uploaded_file( $_FILES&#91;'Filedata']['tmp_name'] , $uploadfile ) ) {
  7.   echo( '1 ' . $_FILES&#91;'Filedata']['name']);
  8.  //file failed to move
  9. }else{
  10.   echo( '0');
  11. }?>

O Código completo em Action Script:

ActionScript

  1. import flash.net.FileReference;
  2. var listener:Object = new Object();
  3. listener.onSelect = function(selectedFile:FileReference):Void  {
  4.     statusArea.text += "Attempting to upload "+selectedFile.name+"\n";
  5.     selectedFile.upload("http://www.osfederais.com/upload.php");
  6. };
  7. listener.onOpen = function(selectedFile:FileReference):Void  {
  8.     statusArea.text += "Opening "+selectedFile.name+"\n";
  9. };
  10. listener.onComplete = function(selectedFile:FileReference):Void  {
  11.     statusArea.text += "Downloading "+selectedFile.name+" to player\n";
  12.     load_img.load();
  13.     load_img.contentPath = "http://www.osfederais.com/img/"+selectedFile.name;
  14.     trace("http://www.osfederais.com/img/"+selectedFile.name);
  15. };
  16. listener.onHTTPError = function(selectedFile:FileReference):Void  {
  17.     statusArea.text += "onHTTPError: "+selectedFile.name;
  18. };
  19. listener.onIOError = function(selectedFile:FileReference):Void  {
  20.     statusArea.text += "onIOError: "+selectedFile.name;
  21. };
  22. listener.onSecurityError = function(selectedFile:FileReference, errorString:String):Void  {
  23.     statusArea.text += "onSecurityError: "+selectedFile.name+" errorString: "+errorString;
  24. };
  25. listener.onProgress = function(selectedFile:FileReference, bytesLoaded:Number, bytesTotal:Number):Void  {
  26.     statusArea.text += "onProgress with bytesLoaded: "+bytesLoaded+"\n bytesTotal: "+bytesTotal+"\n";
  27. };
  28. var imageFile:FileReference = new FileReference();
  29. imageFile.addListener(listener);
  30. var bot = _root.createClassObject(mx.controls.Button, "bot", _root.getNextHighestDepth(), {label:"Upload", _x:225});
  31. bot.onRelease = function() {
  32.     imageFile.browse([{description:"Image Files", extension:"*.jpg;*.gif;*.png;"}]);
  33. };
  34. var load_img = _root.createClassObject(mx.controls.Loader, "load_img", _root.getNextHighestDepth(), {_x:50, _y:22,_width:450, _height:270});
  35. load_img.setStyle("backgroundColor", 0xEEEEEE);
  36. var statusArea = _root.createClassObject(mx.controls.TextArea, "statusArea", _root.getNextHighestDepth(), {_x:1, _y:300, _width:549, _height:100});

*UPDATE* 09/07/2006
Segue exemplos em outras linguagens, claro que sem testar 😉
Em ASP fonte: http://board.flashkit.com/board/archive/index.php/t-649912.html

  1. Class Loader
  2. Private dict
  3.  
  4. Private Sub Class_Initialize
  5. Set dict = Server.CreateObject("Scripting.Dictionary")
  6. End Sub
  7.  
  8. Private Sub Class_Terminate
  9. If IsObject(intDict) Then
  10. intDict.RemoveAll
  11. Set intDict = Nothing
  12. End If
  13. If IsObject(dict) Then
  14. dict.RemoveAll
  15. Set dict = Nothing
  16. End If
  17. End Sub
  18.  
  19. Public Property Get Count
  20. Count = dict.Count
  21. End Property
  22.  
  23. Public Sub Initialize
  24. If Request.TotalBytes > 0 Then
  25. Dim binData
  26. binData = Request.BinaryRead(Request.TotalBytes)
  27. getData binData
  28. End If
  29. End Sub
  30.  
  31. Public Function saveToFile(name, path)
  32. If dict.Exists(name) Then
  33. Dim temp
  34. temp = dict(name).Item("Value")
  35. Dim fso
  36. Set fso = Server.CreateObject("Scripting.FileSystemObject")
  37. Dim file
  38. Set file = fso.CreateTextFile(path)
  39. For tPoint = 1 to LenB(temp)
  40. file.Write Chr(AscB(MidB(temp,tPoint,1)))
  41. Next
  42. file.Close
  43. saveToFile = True
  44. Else
  45. saveToFile = False
  46. End If
  47. End Function
  48.  
  49. Public Function getFileName(name)
  50. If dict.Exists(name) Then
  51. Dim temp, tempPos
  52. temp = dict(name).Item("FileName")
  53. tempPos = 1 + InStrRev(temp, "\"")
  54. getFileName = Mid(temp, tempPos)
  55. Else
  56. getFileName = ""
  57. End If
  58. End Function
  59.  
  60. Private Sub getData(rawData)
  61. Dim separator
  62. separator = MidB(rawData, 1, InstrB(1, rawData, ChrB(13)) - 1)
  63.  
  64. Dim lenSeparator
  65. lenSeparator = LenB(separator)
  66.  
  67. Dim currentPos
  68. currentPos = 1
  69. Dim inStrByte
  70. inStrByte = 1
  71. Dim value, mValue
  72. Dim tempValue
  73. tempValue = ""
  74.  
  75. While inStrByte > 0
  76. inStrByte = InStrB(currentPos, rawData, separator)
  77. mValue = inStrByte - currentPos
  78.  
  79. If mValue > 1 Then
  80. value = MidB(rawData, currentPos, mValue)
  81.  
  82. Dim begPos, endPos, midValue, nValue
  83. Dim intDict
  84. Set intDict = Server.CreateObject("Scripting.Dictionary")
  85.  
  86. begPos = 1 + InStrB(1, value, ChrB(34))
  87. endPos = InStrB(begPos + 1, value, ChrB(34))
  88. nValue = endPos
  89.  
  90. Dim nameN
  91. nameN = MidB(value, begPos, endPos - begPos)
  92.  
  93. Dim nameValue, isValid
  94. isValid = True
  95.  
  96. If InStrB(1, value, stringToByte("Content-Type")) > 1 Then
  97.  
  98. begPos = 1 + InStrB(endPos + 1, value, ChrB(34))
  99. endPos = InStrB(begPos + 1, value, ChrB(34))
  100.  
  101. If endPos = 0 Then
  102. endPos = begPos + 1
  103. isValid = False
  104. End If
  105.  
  106. midValue = MidB(value, begPos, endPos - begPos)
  107. intDict.Add "FileName", trim(byteToString(midValue))
  108.  
  109. begPos = 14 + InStrB(endPos + 1, value, stringToByte("Content-Type:"))
  110. endPos = InStrB(begPos, value, ChrB(13))
  111.  
  112. midValue = MidB(value, begPos, endPos - begPos)
  113. intDict.Add "ContentType", trim(byteToString(midValue))
  114.  
  115. begPos = endPos + 4
  116. endPos = LenB(value)
  117.  
  118. nameValue = MidB(value, begPos, ((endPos - begPos) - 1))
  119. Else
  120. nameValue = trim(byteToString(MidB(value, nValue + 5)))
  121. End If
  122.  
  123. If isValid = True Then
  124.  
  125. intDict.Add "Value", nameValue
  126. intDict.Add "Name", nameN
  127.  
  128. dict.Add byteToString(nameN), intDict
  129. End If
  130. End If
  131.  
  132. currentPos = lenSeparator + inStrByte
  133. Wend
  134. End Sub
  135.  
  136. End Class
  137.  
  138. Private Function stringToByte(toConv)
  139. Dim tempChar
  140. For i = 1 to Len(toConv)
  141. tempChar = Mid(toConv, i, 1)
  142. stringToByte = stringToByte & chrB(AscB(tempChar))
  143. Next
  144. End Function
  145.  
  146. Private Function byteToString(toConv)
  147. For i = 1 to LenB(toConv)
  148. byteToString = byteToString & Chr(AscB(MidB(toConv,i,1)))
  149. Next
  150. End Function
  151.  
  152. Response.Buffer = True
  153.  
  154. ' load object
  155. Dim load
  156. Set load = new Loader
  157.  
  158. load.initialize
  159.  
  160. ' *************************
  161. ' * Edit things from here *
  162. ' *************************
  163.  
  164. Dim fileName
  165. fileName = LCase(load.getFileName("Filedata"))
  166. Dim pathToFile
  167. pathToFile = Server.mapPath("img/") & "\"" & fileName
  168. ' Uploading file data
  169. Dim fileUploaded
  170. fileUploaded = load.saveToFile ("Filedata", pathToFile)
  171.  
  172. ' destroying load object
  173. Set load = Nothing
  174. %>

Em Cold Fusion

  1. <cffile action="upload" fileField="Filedata" destination="#ExpandPath ('img')#" nameConflict="makeUnique" />

Em C#.net

  1. string saveToFolder = "img"
  2. private void Page_Load(object sender, System.EventArgs e)
  3. {
  4.   HttpFileCollection uploadedFiles =  Request.Files;
  5.   string Path = Server.MapPath(saveToFolder);
  6.   for(int i = 0 ; i < uploadedFiles.Count ; i++)
  7.   {
  8.     HttpPostedFile F = uploadedFiles&#91;i];
  9.     if(uploadedFiles&#91;i] != null && F.ContentLength > 0)
  10.     {  
  11.       string newName = F.FileName.Substring(F.FileName.LastIndexOf("\\") + 1);
  12.       F.SaveAs(Path + "/" + newName);
  13.      }
  14.    }
  15. }
AMFPHP, Flash, Flash Platform, PHP, Principal, RIA

42 comments


  1. Axel

    Cara, andei testando essa classe recentemente e me deparei com um probleminha: fazer um preview da foto a ser “uploadeada”. Lendo que você fez umas gambiarras, de repente consegues me dar uma “luz”. Acredito que o problema seja o seguinte: ao selecionar um arquivo, há uma propriedade interna da classe que guarda o nome do mesmo, mas não há uma que guarde o diretório onde se encontra a foto. Caso houvesse, seria simples mandar um loadmovie com o caminho completo (diretório + nome) da foto. Não havendo, preciso copiar a foto pra alguma pasta temporária, usando php, e dar o preview. Mas isto não é o ideal. Alguma idéia?

  2. Cara, talves dê pra fazer usando o SharedObject, não sei ao certo, vou fazer uns testes

  3. Daniel

    Opa, cara, por acaso vc tem este exemplo usando asp ao invés de php?

    Obrigado

    Daniel

  4. Cara, não sei nada de ASP, mas em teoria seria so adaptar o arquivo de upload para a versão em ASP

  5. Mário

    Cara, valeu pelo tutorial, não conseguia achar nunca um que fizesse isso, e eu tava precisando..

    Será que vc não poderia me mandar o arquivo flash do tutorial.. obrigado, abraço!

  6. Mano, muito legal mesmo…mas por que é que ninguém ainda fez um tutorial desses usando ASP…se vc souber de algum…ou mesmo tiver agradeceria se me indicasse…valeu

  7. Vc tem ideia de como posso ligar o flash ao sql?

  8. o Flash não pode acessar o sql diretamente, mas pode ser usado alguma linguagem de servidor como PHP ou Cold Fusion e mandar o resultado da consulta para o Flash

  9. Julio Cesar

    cara tem como usar esse tutorial pra upload de videos?

  10. Julio Cesar

    e tambem quero sabe se tem como faze pra converte o video enquanto faiz o upload,como o youtube

  11. para fazer upload de videos basta adicionar a extensão do video na linha:
    imageFile.browse([{description:”Video Files”, extension:”*.avi;*.mpeg;*.mov;”}]);
    agora para converter video para o formato flv do flash é necessario um programa que faça isso no servidor como por exemplo o ffmpeg ou do proprio codec do flash 8 http://www.on2.com/

  12. Julio Cesar

    então mais eu to curioso para saber como eu faria isso enquanto ele ta fazendo o upload,pois eu andei pesquisando e o youtube recebe o video em qualquer formato mais na hora de roda ele é redirecionado para um video flv.Se sabe como eu faria?

  13. Julio Cesar

    Cara mau eu dei uma pesquisada eu ja achei é só depois de faze o upload usa o comando do php passthru
    que executa comandos unix ai usa o ffmpeg que voce disse pra passa do video para flv.=D mau te atrapalhado.

  14. Marcondes

    Caro Leonardo estou precisando de uma actionscript(flash 8), seria o seguinte:

    O palco vai ficar assim:

    (Imagem) Logotipo AVG: Introdução (butão)
    network (butão)
    professional (butão)
    file serve (butão)

    Neste espaço em branco vai ficar a introdução do assunto que vou escolher. tipo: A informatica é o meio mais rapido e eficiente atualmente…………….
    ……………………………………………………………………………………………..
    ……………………………………………………………………………………………..

    Obs.: Assim que eu for clicar no butão network, butão profesional ou butão file serve, a caixa de texto vai informar o que cada um representa.

    Atenciosamente,

    Marcondes Filizola

  15. Julio Cesar

    cara dexa eu te pergunta uma coisa
    a poco tempo fiz o upload roda
    só que me surgiu uma duvida os comandos de php pra controla tamanho e tipo de arquivo não vão funciona?
    abraços

  16. funcionam sim Julio, modificando um pouco o arquivo php para que não faça upload de arquivos maiores que 30 kb

    $size = ($_FILES[‘Filedata’][‘size’]/1024);
    if($size<30){
    //if the file is moved successfully
    if ( move_uploaded_file( $_FILES[‘Filedata’][‘tmp_name’] , $uploadfile ) ) {
    echo( ‘1 ‘ . $_FILES[‘Filedata’][‘name’]);
    //file failed to move
    }else{
    echo( ‘0’);
    }
    }else{
    echo( ‘0’);
    }

  17. syxdesign

    esse tuturial é muito bom dá pra vc madar para mim o file em .fla???

    syxdesign@gmail.com

  18. Douglas

    Olá amigo, parabens pelo tutorial, poderia enviar o .fla em douglasks@gmail.com obrigado. Abração!

  19. Tem como ao invez de ser imagem ser um arquivo .doc ou .pdf a ser puxado? (uplodeado) hehe!

    Se tem, como seria?

    []’s

  20. Ola Geison,
    basta colocar essas extensões na linha
    imageFile.browse([{description:”docs”, extension:”*.doc;*.pdf;”}]);

  21. Nilsson Fernandes

    Olá Leonardo … gostaria que vc me ajuda-se em algo, caso não seja abusar de mim parte !!! Existe a possibilidade dos arquivos do upload serem renomeados através de uma variavel vindo do flash ??? Tentei fazer alguns testes, mas não obtive sucesso 🙁 !!! Pelo sim ou pelo não agredeço desde já a ajuda … abs e sucesso !!!

  22. Acredito que sim, tente mandar via GET para o PHP

    ate mais
    Leonardo França

  23. Caro Leonardo,

    Estou utilizando a classe FileReference para enviar arquivos para o meu site porém estou tendo problemas com o nome dos arquivos enviados. Quando existe acentos no nome do arquivo, como por exemplo a letra “ã” o Flash está substituindo por outro caracter. Já tentei colocar System.useCodepage=true no primeiro frame mas não deu certo.

    Grato

  24. Você pode tratar isso no php trocando esses caracateres especias. O ideal para evitar confusão no servidor é colocar sem acentos ou espaços. 😉

  25. Olá Leonardo, parabéns pelo tutorial.

    Será que vc poderia me mandar o arquivo .fla
    do tutorial.. obrigado, abraço!

  26. Alan M. D.

    Opa Muito bom Tutorial, Leonardo ou alguem, poderia me mandar também o arquivo .fla? Valew!

  27. Mariana

    Ola Leonardo,

    eu te enviei um email, sera que vc poderia me ajudar?

    Meu projeto de fim de semestre era pra fazer um
    web2.0 mas tentando fazer alguma coisa artistica….
    Entao aqui esta minha ideia, fazer um website onde as pessoas possam ir la e dar continuidade a minha historia atraves de videos…..
    tentando explicando melhor…..vou colocar um video de 15 segundos(por exemplo)
    comecando uma historia, e alguem vai la e colocar mais outro pedaco de
    video, dando continuidade na historia….e outra pessoa vai la e
    coloca mais um pedaco de video…..
    A ideia eh ao long do tempo ter uma sequencia de video soh, montada e
    criada por varias pessoas….
    Voce sabe se existe algum PHP code onde eu possa colocar no site pra
    fazer upload de video…..e algum modo para que assim que as pessoas
    fazem o upload do video delas, aquele novo pedacinho de video entram na
    sequencia do outro….Acho que talvez com flash eu consigo fazer isso certo…Play todos os Mini clips (videos) sendo um video soh

    sera que expliquei direito….por favor me avisa se vc pode me
    ajudar…serei muito grata e posso te explicar melhor se eu fui
    confusa…..

    Algumas pessoas falaram que atraves do Flash eu posso fazer os videos
    entrarem na sequencia e assistir como uma coisa so…….talvez usando
    actionsript…

    Nossa desculpas se estou falando bobagem…sou leiga total no
    assunto….mas prometo que vou me esforcar para entender….

    Aguardo ansiosamente sua resposta….
    Obrigada

  28. Ola Mari,
    é possivel fazer isso que vc quer sim, vejo duas possibilidade:
    voce pode deixar que o usuario grave um video no pc dele e deixar uma opçao no site para que ele faça o upload do video, o problema pode ser os varios formatos que os usuarios irão mandar, vc poder ter a limitaçao de espaço no seu provedor de hospedagem,

    outra opção é usar o Flash Media Server, e deixar que os usuarios gravem os videos pelo proprio site. os videos já serão gravados em um formato so, o FLV, vc tera mais controle sobre os arquivos gerados.

    para gerar uma sequencia, basta usar um script que quarde um banco de dados ou em um xml a sequencia dos arquivos.

    basicamente é esse o caminho 😉

    ate mais

    Leonardo França

  29. Aragas

    Olá, estou com problemas de tamanho de arquivo (preciso permitir arquivos de 10Mb ou um pouco mais. Via PHP obviamente pode dar timeout devido ao padrão das configurações do PHP e os servidores de hospedagem não liberarem para alterar.

    Esse script em FLash resolveria o meu problema???

    Obrigado!

  30. Não resolveria porque o Flash mandará o arquivo para o script PHP e passaria por essa limitação do mesmo jeito. ;o)

  31. Aragas

    Mas o Flash não faz o “envio” do arquivo para o PHP após a conclusão do upload? Aí só se houver limitação do tamanho do arquivo, mas isso é menos provável. E qt a segurança do servidor, seja mais fácil contornar junto ao hospedeiro do que a questão do tempo de timeout.

    Obrigado desde já!

  32. Mariana

    Oi Leonardo,

    Muito Obrigada pela ajuda…
    Eh por ai mesmo minha ideia….Minha ideia eh dizer no site o formato que as pessoas devem fazer o upload ou seja, todo mundo faca o upload em AVI ou mpeg por exemplo….Dai nao tem problema de ter que ficar convertendo os arquivos para um formato unico uma vez que todo mundo fara upload num formato padrao…

    O que eu ainda nao sei fazer, e estou confusa e a parte de fazer uma janela para aparecer os videos na sequencia….Ou seja preciso fazer um “playing multiple video clips” um na sequencia do outro na ordem que eles forem sendo upload…

    o que seria : “para gerar uma sequencia, basta usar um script que quarde um banco de dados ou em um xml a sequencia dos arquivos.”???

    Mil desculpas pela ignorancia e nao saber o que faco entao….gerar um script eh relacionado ao flash???

    Muito Obrigada mais uma vez
    MARIANA

  33. Mariana

    Oi Leonardo,

    mais uma pergunta….(prometo que eh a ultima, hehe)
    Eu entendi sobre o PHP onde eu posso gerar o xml…O que eu preciso da sua ajuda eh com o flash e actionscritp…Teriamos um codigo para assistirmos a sequencia dos multiples videos….??? Um amigo ja esta me ajudando com o PHP, mas o que estamos presos aqui eh com a parte de como dar play na sequencia inteira….como fazer isso em flash?

    Obrigadissima
    Mariana

  34. Aragas, o Flash envia o arquivo para o PHP e este faz o upload propriamente dito

  35. Ola Mariana, o problema seria que nem todos os usuarios sabem salvar em determinado formato, eu recomendo que voce deixe que o servidor Flash Media Server criar os arquivos .flv
    no Claro ParkFashion fiz algo assim na parte em que os usuarios gravam seus depoimentos e para mostrar, fiz o swf carregar o xml com uma sequencia que criei por um script PHP, brevemente estarei disponibilizando os fontes, mas qualquer duvida, pode falar. ;o)

  36. paulo

    Ola Gostaria que você me esclarecesse algumas duvidas
    Estou fazendo meu projeto final da facul
    E preciso fazer Upload de arquivos para coloca num album que vai ter no meu site
    baxei este FLA que você disponibilizou ai .. Ai testei no meu PC e não funciona e aparece esta mensagem => onIOError:
    Alguém pode me ajudar pelo amor de deus
    Sei pouco de flash estou aprendendo agora
    Alguém pode me explicar como faço pra Upload funcionar
    Agradeço a todos desde já

  37. vc tem que usar também um arquivo no servidor(PHP, Cold Fusion etc), pois o swf vai interagir com ele.

  38. Mike

    E ai Leonardo blz?? Cara faz um tempão que estou procurando algo sobre upload de arquivos que funciona, consegui recriar o que você fez mas, quando vai concluir o upload do arquivo ele apresenta o seguinte trecho no textarea:
    to upload capa86.jpg
    Opening capa86.jpg
    onProgress with bytesLoaded: 28236
    bytesTotal: 28236
    onHTTPError: capa86.jpg

    Naõ consigo achar nada sobre esse erro.. poderia me ajudar???
    Desde já agradeço!!!!

    PS: Desculpe pela mancada na msg anterior, estou mandando a mesma dúvida para outros forúns e blogs

  39. qual mensagem de erro mostra exatamente? vc ta usando que linguagem de servidor, o diretorio onde serao enviados os arquivos possuem as permissoes de leitura e escrita?

  40. Mike

    Olá Leonardo, depois de um tempinho sem meu pc, consegui voltar a esse projeto que estou desenvolvendo…Qto ao erro, ele só me diz que é um erro de HTTP, estou usando php, e o diretorio possue permissão de leitura e escrita…

    Aguardo, e desde já agradeço!!! Qualquer coisa me responde no email!!!

Leave a Reply