Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

michel melo

[Resolvido] copiar ficheiro

Recommended Posts

Bom pessoal estou com um probleminha aki e nao estou sabendo resolver, preciso copiar uma imagem que o cliente vai selecionar para uma pasta. consigo busca o nome mais nao consigo mandar ele pra o local que preciso. veja:

private function init():void{

imageFilter=new FileFilter("Image Files","*.jpg;*.gif;*.png")

htmlFilter=new FileFilter("HTML Files","*.html")

fileReference=new FileReference();

fileReference.addEventListener(Event.SELECT, fileSelectedHandler);

}

private function fileSelectedHandler(e:Event):void{

if( e.target.type.toString()!='.jpg'&&

e.target.type.toString()!='.png'&&

e.target.type.toString()!='.gif'&&

e.target.type.toString()!='.html'){

Alert.show("Unexpected File Format","Error");

}else{

Alert.show( "Name : "+e.target.name.toString()+"\n"+

"Type : "+e.target.type.toString()+"\n"+

"CreationDate : "+e.target.creationDate.toString()+"\n"+

"Size : "+e.target.size.toString()+"bites \n",

"File Informations");

var newFile = File.applicationStorageDirectory.resolvePath("AIR Test/"+e.target.name.toString());

newFile.copyTo(newFile,true);

 

 

}

}

 

o ERRO:

Error: Error #3014: Cannot copy or move a file or directory to overwrite a containing directory.

at flash.filesystem::File/copyTo()

at FileSystem_wt1/fileSelectedHandler()[C:\******\Flex Builder 3\gestour\src\FileSystem_wt1.mxml:43]

Compartilhar este post


Link para o post
Compartilhar em outros sites

como nao tiver resposta aki vou deixa a solução que foi respondida na RIAPT.org pelo Miguel

 

 

Estás a utilizar o copyTo de forma errada.

 

a forma correcta é:

 

origem.copyTo(destino,[true|false])

 

 

Tens aqui um exemplo que fiz agora (repara na alteração do filereference para file no ficheiro de origem e a utilização do copyTo() ):

 

 

<?xml version="1.0" encoding="utf-8"?>

<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Button x="31" y="49" label="Copia" click="init()"/>

<mx:Script>

<![CDATA[

import mx.controls.Alert;

import flash.filesystem.File;

import flash.net.FileReference;

import flash.net.FileFilter;

private var sourcefile:File = new File()

private var fileReference:FileReference = new FileReference();

 

private function init():void{

sourcefile.addEventListener(Event.SELECT, fileSelectedHandler);

try {

var success:Boolean = sourcefile.browse(getTypes());

} catch (error:Error) {

//erros.text += "\nUnable to browse for files.";

 

}

 

}

 

private function fileSelectedHandler(e:Event):void{

 

 

var newFile:File = File.applicationStorageDirectory;

 

newFile= newFile.resolvePath("outradir/"+e.target.name);

sourcefile.copyTo(newFile,true);

 

 

}

 

 

private function getTypes():Array {

var allTypes:Array = new Array(getImageTypeFilter());

return allTypes;

}

 

private function getImageTypeFilter():FileFilter {

return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png");

}

 

]]>

</mx:Script>

 

 

</mx:WindowedApplication>

 

 

 

 

 

Miguel Vaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.