michel melo 0 Denunciar post Postado Maio 8, 2009 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
michel melo 0 Denunciar post Postado Maio 8, 2009 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